(一)调用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

序号属性说明
1plt.rcParams[’axes.unicode_minus’] = False字符显示
2plt.rcParams[’font.sans-serif’] = ‘SimHei’设置字体
线条样式:lines
3plt.rcParams[’lines.linestyle’] = ‘-.’线条样式
4plt.rcParams[’lines.linewidth’] = 3线条宽度
5plt.rcParams[’lines.color’] = ‘blue’线条颜色
6plt.rcParams[’lines.marker’] = None默认标记
7plt.rcParams[’lines.markersize’] = 6标记大小
8plt.rcParams[’lines.markeredgewidth’] = 0.5标记附近的线宽
横、纵轴:xtick、ytick
9plt.rcParams[’xtick.labelsize’]横轴字体大小
10plt.rcParams[’ytick.labelsize’]纵轴字体大小
11plt.rcParams[’xtick.major.size’]x轴最大刻度
12plt.rcParams[’ytick.major.size’]y轴最大刻度
figure中的子图:axes
13plt.rcParams[’axes.titlesize’]子图的标题大小
14plt.rcParams[’axes.labelsize’]子图的标签大小
图像、图片:figure、savefig
15plt.rcParams[’figure.dpi’]图像分辨率
16plt.rcParams[’figure.figsize’]图像显示大小
17plt.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'  文本颜色
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐