matplotlib显示中文字体的常用三种方法
(一)调用Fontproperties1.1 调用Fontproperties方法介绍1. 先从font_manager中导入FontProperties# 方法一from matplotlib import font_manager# 方法二from matplotlib.font_manager import FontProperties2. 导入电脑中自带的 font 的路径,windows
·
文章目录
(一)调用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 实例一
# coding=utf-8
# 调用Fontproperties.py
# Copyright 2021 ☞源仔
# Crated:2021-08-05
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。
# 标题和标签使用fontproperties=font
plt.title("标题", fontproperties=font)
plt.xticks(x_15,a,fontproperties=my_font)
#设置图例。 图例上必须使用prop=my_font
plt.legend(prop=my_font)
# coding=utf-8
# 调用Fontproperties.py
# Copyright 2021 ☞源仔
# Crated:2021-08-05
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)
#设置x轴的刻度
plt.xticks(x_15,a,fontproperties=my_font)
plt.savefig("./条形图多数据对比.png")
plt.show()
(二)rc
使用pythons kwargs字典存储其默认参数的字典。
font = {‘family’:‘monospace’,
‘weight’:‘italic’,
‘size’ :‘medium’}
# pass in the font dict as kwargs
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' 文本颜色
更多推荐
已为社区贡献4条内容
所有评论(0)