Python matplotlib 画图 字体、字体大小、字体粗细、文字方向、斜体、旋转角度 全集

慈云数据 2024-03-19 技术支持 63 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
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon