matplotlib 做图显示中文: import zhplot

4 天前
 huangyezhufeng

TLDR

pip install zhplot安装,之后import zhplot即可。

GitHub 地址

https://github.com/shenxiangzhuang/zhplot

为什么

示例

import zhplot
import matplotlib.pyplot as plt


plt.plot([1, 2, 3, 4])
plt.title('这是一个标题')
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()
1130 次点击
所在节点    Python
17 条回复
Mianmiss
4 天前
挺好,第一次用 matplotlib 为了显示中文折腾了很久
freefcw
4 天前
给楼主点赞,确实很方便
fbichijing
4 天前
不是两行代码的问题吗......
huangyezhufeng
3 天前
@fbichijing #3 手动搞,要自己下载字体再指定路径的,够麻烦的了..
syh2
3 天前
前段时间在 Linux 服务器用 Jupyter Lab 确实折腾了很久,这个是我目前看到最快捷的解决方法了,感谢 OP !
siriussilen
3 天前
谢谢,工作上很有帮助
dant
3 天前
自带中易黑体可能会产生版权问题,可以考虑换成思源黑体或者(如果在意分发大小的话) Droid Sans Fallback
fbichijing
3 天前
@huangyezhufeng

是我的理解有问题吗?

```python
import matplotlib.pyplot as plt

# 多两行代码
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.plot([1, 2, 3, 4])
plt.title('这是一个标题')
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()
```
huangyezhufeng
3 天前
@dant #7 感谢建议。这个版权问题有相关的资料吗?我之前大概查了了下 Simhei 的一些版权问题,没太找到明确的解释。
huangyezhufeng
3 天前
@fbichijing #8 代码没问题的。这个前提是操作系统里面已经装了对应的字体。一些 Linux 版本其实没有预装中文字体的。比如上面老哥提到的一些服务器上之类的。
huangyezhufeng
3 天前
@dant https://github.com/shenxiangzhuang/zhplot/issues/7
感谢提醒,单独建了个 issue 。然后具体查了下,这个确实可能存在版权问题。然后思源黑体确实是比较好的备选项,不过文件确实有点太大了,然后 Droid Sans Fallback 的版权问题好像也有一丢丢不清晰。查了下目前打算换到 noto-cjk ,这个字体大小可以接受,然后版权看起来也没啥问题。有其他建议可以移步 GitHub 讨论哈~
JeremyFeng
2 天前
简单易用,感谢开发
Syiize
2 天前
可以添加相应的函数,让用户能够设置自己想要使用的字体吗?
zsk425
2 天前
能支持 python 3.8 么
huangyezhufeng
2 天前
@zsk425 这里有必须使用 3.8 的场景吗?因为现在 3.8 已经 EOL 了( https://devguide.python.org/versions/), 所以这里最小支持的版本是 3.9
huangyezhufeng
2 天前
@Syiize 是说指定字体文件路径这样吗?(如果是系统已有字体,在 matplotlib 直接指定就行) 可以开个 issue 说明一下, 我后面看看加上合不合适。
zsk425
2 天前
原来 3.8 已经 EOL 了,那确实没必要支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1093996

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX