在使用matplotlib.font_manager根据csv表格绘图时,表里面的中文显示为方块
时间: 2024-01-21 22:20:12 浏览: 65
Matplotlib.pyplot 三维绘图的实现示例
这个问题通常是由于Matplotlib默认不支持中文字体所导致的。你需要安装中文字体,并将其设置为Matplotlib的默认字体。
以下是一些解决方案:
1. 安装中文字体
你可以下载并安装一些常用的中文字体,例如宋体、微软雅黑等,在Windows系统中,可以在“控制面板” > “字体”中找到并安装。
如果你使用的是Linux系统,你可以使用命令行安装中文字体,例如:
```
sudo apt-get install fonts-wqy-zenhei
```
2. 设置Matplotlib默认字体
在Matplotlib中,可以使用`rcParams`来设置全局默认字体。例如:
```
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'SimSun' # 设置字体为宋体
```
其中,`'SimSun'`是宋体的英文名。
如果你想在所有的图表中都使用这个字体,可以将这段代码放在脚本的开头或在`matplotlibrc`配置文件中设置。
3. 指定字体
如果你只想在某个图表中使用中文字体,可以使用`FontProperties`类来指定字体。例如:
```
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14) # 指定字体为黑体
plt.plot(x, y)
plt.title('中文标题', fontproperties=font)
plt.xlabel('横坐标', fontproperties=font)
plt.ylabel('纵坐标', fontproperties=font)
plt.show()
```
其中,`fname`参数指定字体文件的路径,`size`参数指定字体大小。
希望这些解决方案能够帮助你解决问题!
阅读全文