Matplotlib中文字体设置
时间: 2023-05-26 09:04:46 浏览: 103
Python matplotlib修改默认字体的操作
在 Matplotlib 中设置中文字符的方法有两种:
1. 使用系统默认字体
Matplotlib 使用系统默认字体(如 Times New Roman)显示文本,如果需要在文本中使用中文字符,需要确保计算机已经安装了中文字体,然后在脚本中设置中文字符即可。设置方法如下:
```python
import matplotlib.pyplot as plt
# 设置中文字符
plt.rcParams['font.family'] = ['SimHei'] # 宋体SimHei, 黑体SimHei等
plt.rcParams['axes.unicode_minus'] = False # 解决负号'-'显示为方块的问题
# 进行绘图
plt.plot([1,2,3],[4,5,6])
plt.show()
```
2. 使用特定字体
使用特定字体可以更好地控制字体的大小、样式、颜色等。具体操作如下:
(1)首先需要下载所需字体文件,这里以“宋体”为例,将宋体字体的 .ttf 文件下载到本地,例如在 C 盘根目录下新建一个 fonts 文件夹,并将宋体字体的 .ttf 文件放在该文件夹中。
(2)在 Matplotlib 中注册该字体:
```python
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
# 定义所需字体的路径
font_path = 'C:/fonts/simfang.ttf' # 宋体simfang
# 注册该字体
font_prop = fm.FontProperties(fname=font_path)
# 进行绘图
plt.plot([1,2,3],[4,5,6])
plt.xlabel('温度', fontproperties=font_prop, fontsize=14)
plt.ylabel('湿度', fontproperties=font_prop, fontsize=14)
plt.show()
```
在上述代码中,首先定义了宋体字体的路径并将其赋值给 font_path 变量;接下来使用 FontManager 对象定义了一个 FontProperties 对象,其中设置了字体文件路径和字体大小;最后在文本中使用该 FontProperties 对象进行中文字符的显示。
注意,在使用特定字体时,需要确保所选字体名字和字体文件对应,字体文件的路径也需要正确设置。
阅读全文