阅读量:0
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 rc import 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 rcParams config = { "font.family":'Times New Roman', # 设置字体类型 "axes.unicode_minus": False #解决负号无法显示的问题 } rcParams.update(config)
3. 单独设置
import matplotlib.pyplot as plt fig,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) # 文字方向 rotation plt.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