Python Matplotlib画图中的字体、大小、粗细、方向、斜体和旋转角度全指南

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
物联沃分享整理
物联沃-IOTWORD物联网 » Python Matplotlib画图中的字体、大小、粗细、方向、斜体和旋转角度全指南

发表评论