(一)调用Fontproperties(推荐使用)
1.1 调用Fontproperties方法介绍
本人常用这这方法哈 1. 先从font_manager中导入FontProperties
from matplotlib import font_manager
from matplotlib.font_manager import FontProperties
2. 导入电脑中自带的 font 的路径,windows系统一般都是下面的路径
my_font = font_manager.FontProperties(fname="C:/windows/Fonts/simsun.ttc")
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
1.2 实例
1.2.1 实例一
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
plt.title("标题", fontproperties=font)
plt.show()
2.1.2 实例二(具体怎么使用,细节\重点)
- 在每一个标签后都要加上
fontproperties=my_font ;设置图例。 图例上必须使用prop=my_font。
plt.title("标题", fontproperties=font)
plt.xticks(x_15,a,fontproperties=my_font)
plt.legend(prop=my_font)
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname="C:/windows/Fonts/simsun.ttc")
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [5746,312,4497,20000]
b_15 = [12357,156,2045,21568]
b_14 = [15358,399,2358,23362]
bar_width = 0.2
x_14 = list(range(len(a)))
x_15 = [i+bar_width for i in x_14]
x_16 = [i+bar_width*2 for i in x_14]
plt.figure(figsize=(20,8),dpi=80)
plt.bar(x_14,b_14,width=bar_width,label="9月14日")
plt.bar(x_15,b_15,width=bar_width,label="9月15日")
plt.bar(x_16,b_16,width=bar_width,label="9月16日")
plt.legend(prop=my_font)
plt.xticks(x_15,a,fontproperties=my_font)
plt.savefig("./条形图多数据对比.png")
plt.show()
(二)rc
使用pythons kwargs字典存储其默认参数的字典。
font = {‘family’:‘monospace’,
‘weight’:‘italic’,
‘size’ :‘medium’}
rc(‘font’, **font)
rc('font',size=16)
plt.rc('font',family='SimHei')
2.1 实例一
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d
font = {'family' : 'SimHei',
'weight' : 'bold',
'size' : '16'}
plt.rc('font', **font)
plt.rc('axes', unicode_minus=False)
plt.xlabel("x轴")
plt.savefig("rc")
plt.show()
2.2 实列二(具体应用)
from scipy.interpolate import interp1d
x = np.arange(0,25,2)
y = np.array([12,9,9,10,18,24,28,27,25,20,18,15,13])
xnew = np.linspace(0, 24, 500)
f1 = interp1d(x,y); y1 = f1(xnew)
f2 = interp1d(x,y,'cubic') ; y2 = f2(xnew)
plt.rc('font',size=16); plt.rc('font',family='SimHei')
plt.subplot(121); plt.plot(xnew,y1) ; plt.xlabel("(A)分线段插值")
plt.subplot(122); plt.plot(xnew,y2) ; plt.xlabel("(B)三次样条插值")
plt.savefig("一维插值")
plt.show()
(三)rcParams参数
3.1 rcParams 常用参数
-
matplotlib.pyplot 使用rc配置文件来自定义图形的各种默认属性,称为rc参数。 -
通过rc 参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。 -
rc参数存储在字典变量中,通过字典的方式进行访问。
以下rcParams参数表格参考于:https://blog.csdn.net/weixin_39010770/article/details/88200298
序号 | 属性 | 说明 |
---|
1 | plt.rcParams[’axes.unicode_minus’] = False | 字符显示 | 2 | plt.rcParams[’font.sans-serif’] = ‘SimHei’ | 设置字体 | | 线条样式:lines | | 3 | plt.rcParams[’lines.linestyle’] = ‘-.’ | 线条样式 | 4 | plt.rcParams[’lines.linewidth’] = 3 | 线条宽度 | 5 | plt.rcParams[’lines.color’] = ‘blue’ | 线条颜色 | 6 | plt.rcParams[’lines.marker’] = None | 默认标记 | 7 | plt.rcParams[’lines.markersize’] = 6 | 标记大小 | 8 | plt.rcParams[’lines.markeredgewidth’] = 0.5 | 标记附近的线宽 | | 横、纵轴:xtick、ytick | | 9 | plt.rcParams[’xtick.labelsize’] | 横轴字体大小 | 10 | plt.rcParams[’ytick.labelsize’] | 纵轴字体大小 | 11 | plt.rcParams[’xtick.major.size’] | x轴最大刻度 | 12 | plt.rcParams[’ytick.major.size’] | y轴最大刻度 | | figure中的子图:axes | | 13 | plt.rcParams[’axes.titlesize’] | 子图的标题大小 | 14 | plt.rcParams[’axes.labelsize’] | 子图的标签大小 | | 图像、图片:figure、savefig | | 15 | plt.rcParams[’figure.dpi’] | 图像分辨率 | 16 | plt.rcParams[’figure.figsize’] | 图像显示大小 | 17 | plt.rcParams[’savefig.dpi’] | 图片像素 |
3.2 plt.rcParams参数设置
以下参考:plt.rcParams参数设置 https://blog.csdn.net/Spratumn/article/details/100625967
plt.rcParams['font.sans-serif']=['SimHei'] # 用来显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来显示负号
plt.rcParams['figure.figsize'] = (15.0, 6.0) # 调整生成的图表最大尺寸
plt.rcParams['figure.dpi'] = 300 # 每英寸点数
调用plt.rcParams.keys()可获取rcParams的全部参数以及默认值。
'font.size': 10.0 字体大小
'hist.bins': 10 直方图分箱个数
'lines.linewidth': 1.5 线宽
'lines.marker': 'None' 标记样式
'savefig.format': 'png' 保存图片的格式
'savefig.jpeg_quality': 95 图片质量
'text.color': 'black' 文本颜色
|