下面是针对“解决pandas作图无法显示中文的问题”的详细攻略:
1. 问题描述
在使用pandas作图时,中文无法正常显示。
2. 解决方法
2.1 安装中文字体
要解决中文无法正常显示的问题,首先需要安装相应的中文字体。可以选择以下两种方法:
2.1.1 下载中文字体库
可以从字体网站如“蒙纳网”、“字体管家”等下载中文字体库,将其解压缩后放在本地电脑上的字体库文件夹即可。
2.1.2 使用系统自带的中文字体
Windows系统自带多种中文字体,可以直接使用。在使用时可以通过 matplotlib.rcParams()
函数来调用。
import matplotlib.pyplot as plt
import matplotlib
font = {'family': 'Microsoft YaHei', 'weight': 'bold', 'size': '16'}
matplotlib.rc("font", **font)
plt.plot([1,2,3,4])
plt.xlabel(u'横坐标')
plt.ylabel(u'纵坐标')
plt.show()
2.2 修改配置文件
可以通过修改pandas的默认可视化配置文件来将中文显示在作图中。
2.2.1 找到配置文件位置
首先需要找到pandas配置文件的位置。可以使用以下代码进行查询:
import pandas
pandas.plotting.register_matplotlib_converters()
print(pandas.plotting._matplotlib.get_configdir())
在Windows系统下,一般为 C:\Users\用户名\.config\matplotlib
。
2.2.2 创建新的matplotlib配置文件
在配置文件夹中新建一个名为“matplotlibrc”的文件。然后将以下内容复制进去:
font.family : sans-serif
font.sans-serif : SimHei, Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus : False
其中,font.sans-serif
后面的字体名称可以根据自己的需求进行修改。
2.3 示例说明
以下是两个使用matplotlib以及pandas作图但中文无法显示的示例。
示例1:使用matplotlib作图
import matplotlib.pyplot as plt
plt.style.use("seaborn")
plt.plot([1,2,3], [4,5,6])
plt.xlabel("X轴标签")
plt.ylabel("Y轴标签")
plt.title("图表标题")
plt.show()
该示例使用了matplotlib库进行绘图,但是由于默认字体不支持中文,导致作图标题和坐标轴标签都显示为方块。
示例2:使用pandas作图
import pandas as pd
df = pd.DataFrame({'数量':[10, 20, 15],
'城市':['北京', '上海', '广州']})
df.plot(kind='bar', x='城市', y='数量', title='各城市销售数量对比')
该示例使用了pandas库进行图表绘制,当使用默认字体绘制图表时,文字会显示为方块。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决pandas 作图无法显示中文的问题 - Python技术站