站点图标 AI技术聚合

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

文章出处登录后可见!

已经登录?立即刷新
退出移动版