python - matplotlib plot中如何显示中文

标签 python pandas matplotlib fonts chinese-locale

在这里,我有一个与 Pandas 有关的情节工作,就像这样:

most_active_posts.plot(x = 'title',y = 'active_span',kind = 'barh')

most_active_posts 是一个带索引的数据框对象,我想要一个简单的二维图,有两列,一列是 'title' 另一列是 'active_span'

title是字符串类型,包含汉字,而active_span是整数类型。

如何才能正常显示汉字?

最佳答案

我的解决方法是这样的:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
font = fm.FontProperties(fname='c:\\windows\\fonts\\simsun.ttc')  # speicify font
ax = most_active_posts.plot(x = 'title',y = 'active_span',kind = 'barh')
ax.set_xticklabels(most_active_posts['title'].str.decode('utf-8'), fontproperties=font)
plt.show()

基本上,您需要为中文字符指定一个有效的字体。

关于python - matplotlib plot中如何显示中文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21307832/

相关文章:

Python Django 全局变量

python - Python中的Matplotlib-绘制形状并对其进行动画处理

python - 具有不同 x 和 y 误差的 Pyplot 误差线

python - 在 matplotlib + numpy 数组上扩展 "pixels"

python - 如何使用 pandas 填充缺失的时间数据

python - python 中无效的 URL 解析器

python - 找到前 n 个素数?

pandas - 将 Pandas 数据框上传到 Redshift - 关系 "sqlite_master"不存在

python - 填写 pandas 数据框中的缺失值

python - 比较2个数据帧并发现值不在第2个数据帧中