【注意】
可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:)
import matplotlib.pyplot as plt
import pylab as plt
【效果图】
【方式一】FontProperties
1 import matplotlib.pyplot as plt
2 from matplotlib.font_manager
import FontProperties # 步骤一
3
4 # ...
5
6 font = FontProperties(fname=r
"c:\windows\fonts\simsun.ttc", size=14
) # 步骤二
7 plt.xlabel(
"x轴", fontproperties=
font) # 步骤三
8 plt.ylabel(
"y轴", fontproperties=
font)
9 plt.title(
"标题", fontproperties=
font)
10 plt.show()
总的来说,很丑陋。
【方式二】 fontproperties
1 import matplotlib.pyplot as plt
2
3 # ...
4
5 plt.xlabel(
"x轴")
6 plt.ylabel(
"y轴", fontproperties=
"SimSun")
# 步骤一 (宋体)
7 plt.title(
"标题", fontproperties=
"SimHei")
# (黑体)
8 plt.show()
灵活,另一个优点:不污染全局字体设置
【方式三】rcParams
1 import matplotlib.pyplot as plt
2
3 plt.rcParams[
'font.sans-serif'] = [
'SimHei']
# 步骤一(替换sans-serif字体)
4 plt.rcParams['
axes.unicode_minus'] =
False # 步骤二(解决坐标轴负数的负号显示问题)
5 #...
6
7 plt.xlabel(
"x轴")
8 plt.ylabel(
"y轴")
9 plt.title(
"标题")
10 plt.show()
简洁的用法。缺点:污染全局字体设置。(所以需要第二步骤)
【方式四】rc
1 import matplotlib.pyplot as plt
2
3 font = {
'family' :
'SimHei',
4 'weight' :
'bold',
5 'size' :
'16'}
6 plt.rc(
'font', **font)
# 步骤一(设置字体的更多属性)
7 plt.rc(
'axes',
unicode_minus=
False)
# 步骤二(解决坐标轴负数的负号显示问题)
8
9 #...
10
11 plt.xlabel(
"x轴")
12 plt.ylabel(
"y轴")
13 plt.title(
"标题")
14 plt.show()
灵活的用法。缺点:影响全局字体(所以需要第二步骤)
【总结】
方式二用时才设置,且不会污染全局字体设置,更灵活
方式三、方式四不需要对字体路径硬编码,而且一次设置,多次使用,更方便。
【测试代码】
1 import numpy as np
2 import matplotlib.pyplot as plt
3
4 font = {
'family' :
'DFKai-SB',
5 'weight' :
'bold',
6 'size' :
'16'}
7 plt.rc(
'font', **font)
# pass in the font dict as kwargs
8 plt.rc(
'axes',unicode_minus=
False)
9
10
11 x = np.linspace(0, 10, 1000
)
12 y =
np.sin(x)
13 z = np.cos(x**2
)
14
15 plt.figure(figsize=(8,4
))
16 plt.plot(x,y,label=
"$sin(x)$",color=
"red",linewidth=2
)
17 plt.plot(x,z,
"b--",label=
"$cos(x^2)$")
18 plt.xlabel(
"x轴")
19 plt.ylabel(
"y轴")
20 plt.title(
"标题")
21 plt.ylim(-1.2,1.2
)
22 plt.legend()
23 plt.show()
View Code
【附录】
一些中文字体的英文名
宋体 SimSun黑体 SimHei微软雅黑 Microsoft YaHei微软正黑体 Microsoft JhengHei新宋体 NSimSun新细明体 PMingLiU细明体 MingLiU标楷体 DFKai-SB仿宋 FangSong楷体 KaiTi隶书:LiSu幼圆:YouYuan华文细黑:STXihei华文楷体:STKaiti华文宋体:STSong华文中宋:STZhongsong华文仿宋:STFangsong方正舒体:FZShuTi方正姚体:FZYaoti华文彩云:STCaiyun华文琥珀:STHupo华文隶书:STLiti华文行楷:STXingkai华文新魏:STXinwei
转载于:https://www.cnblogs.com/hhh5460/p/4323985.html