ubuntu系统下matplotlib中文乱码问题的解决方法

时间:2021-05-19

在ubuntu 下利用matplotlib 绘图的时候,图像上中文无法显示。以下是我的解决办法:

1. 下载中文字体simhei.ttf, 网址为http://fontzone.net/download/simhei

2. 搜索 matplotlib 字体的安装位置

$locate -b '\mpl-data'

会得到 这个路径/usr/share/matplotlib/mpl-data下面有fonts/ttf这个目录,进入这个目录,把刚才下载的simhei.ttf 字体复制到这个目录下,注意权限和归属是否与其它字体一致,我的是归于root用户的,所以用root 用户复制过来。

3. 删除当前用户matplotlib 的缓冲文件(如果没有直接进入第四步)

$cd ~/.cache/matplotlib$rm -rf *.*

4.代码中调整字体

#!/usr/bin/env python#coding:utf-8"""a demo of matplotlib"""import matplotlib as mplfrom matplotlib import pyplot as pltmpl.rcParams[u'font.sans-serif'] = ['simhei']mpl.rcParams['axes.unicode_minus'] = Falseyears = [1950, 1960, 1970, 1980, 1990, 2000, 2010]gdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3]#创建一副线图,x轴是年份,y轴是gdpplt.plot(years, gdp, color='green', marker='o', linestyle='solid')#添加一个标题plt.title(u'名义GDP')#给y轴加标记plt.ylabel(u'十亿美元')plt.show()
  • 其中#coding:utf-8 说明文件编码格式
  • mpl.rcParams[u'font.sans-serif'] = ['simhei'] 用simhei 字体显示中文
  • mpl.rcParams['axes.unicode_minus'] = False 这个用来正常显示负号
  • plt.title(u'名义GDP')这里的u 最好不要少
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章