Python matplotlib 画图 字体、字体大小、字体粗细、文字方向、斜体
统一设置
单独设置
设置字体 font
设置坐标轴 axes 字体大小 labelsize
设置标签 tick 字体大小 labelsize

设置坐标轴 axes 字体粗细 labelweight
设置标签 tick 字体粗细 labelweight
可选粗细有 ['light','normal','medium','semibold','bold','heavy','black']
可选样式 ['normal','italic','oblique']

旋转角度 rotation

1. 全局设置方式一

from proplot import rcimport matplotlib.pyplot as plt# 统一设置from proplot import rc# 统一设置字体rc["font.family"] = "TeX Gyre Schola"# 统一设置轴刻度标签的字体大小rc['tick.labelsize'] = 10# 统一设置xy轴名称的字体大小rc["axes.labelsize"] = 20# 统一设置轴刻度标签的字体粗细rc["axes.labelweight"] = "light"# 统一设置xy轴名称的字体粗细rc["tick.labelweight"] = "bold"fig,axes = plt.subplots(1,1,figsize=(4,4),dpi=100,facecolor="w")fig.subplots_adjust(left=0.2,bottom=0.2)axes.set_xlabel('X')axes.set_ylabel('Y')

2. 全局设置方式二

# 设置西文字体为新罗马字体from matplotlib import rcParamsconfig = {"font.family":'Times New Roman',# 设置字体类型"axes.unicode_minus": False #解决负号无法显示的问题}rcParams.update(config)

3. 单独设置

import matplotlib.pyplot as pltfig,axes = plt.subplots(1,1,figsize=(4,4),dpi=100,facecolor="w")#调整图的四周间距fig.subplots_adjust(left=0.2,bottom=0.2)# 单独设置轴刻度标签的字体# axis {'x', 'y', 'both'}, default: 'both'# which {'major', 'minor', 'both'}, default: 'major'axes.tick_params(axis='x', labelsize=18)xlabel_font = {#'fontsize': rcParams['axes.titlesize'], # 设置成和轴刻度标签一样的大小'fontsize': 30,#'fontweight': rcParams['axes.titleweight'], # 设置成和轴刻度标签一样的粗细'fontweight': 'light',#'color': rcParams['axes.titlecolor'], # 设置成和轴刻度标签一样的颜色'color': 'blue',}# fontdict 设置字体的相关属性# labelpad 设置轴名称到轴的间距# loc 设置x轴是靠那边对其axes.set_xlabel('x', fontdict=xlabel_font,labelpad=20,loc='right')ylabel_font = {#'fontsize': rcParams['axes.titlesize'], # 设置成和轴刻度标签一样的大小'fontsize': 30,#'fontweight': rcParams['axes.titleweight'], # 设置成和轴刻度标签一样的粗细'fontweight': 'bold',#'color': rcParams['axes.titlecolor'], # 设置成和轴刻度标签一样的颜色'color': 'red',}axes.set_ylabel('y',fontdict=ylabel_font,labelpad=0)label_fontdict = {'fontsize': 20,}axes.set_title('title', fontdict=label_fontdict, loc='left', pad=10)# 文字方向 rotationplt.text(0.3, 0.3, 'matplotlib', rotation=180)# 也可以单独修改,font={'style': "italic",'weight': "normal",'fontsize':20}# 设置字体样式plt.text(0.5, 0.5,'matplotlib', fontdict=font)

# 常用Times New Roman'''中文字体'''黑体:SimHei微软雅黑:Microsoft YaHei微软正黑体:Microsoft JhengHei新宋体:NSimSun新细明体:PMingLiU细明体:MingLiU华文新魏:STXinwei华文行楷:STXingkai华文隶书:STLliti花纹琥珀:STHupo华文彩云:STCaiyun方正姚体:FZYaoti方正舒体:FZShuTi标楷体:DFKai-SB华文仿宋:STFangsong华文中宋:STZhongsong华文宋体:STSong华文楷体:STKaiti华文细黑:STXihei幼圆:YouYuan隶书:LiSu楷体_GB 2313:Kaiti_GB2313仿宋_GB2313:FangSong_GB2313仿宋:FangSong