ubuntu matplotlib解决中文显示问题

本文详细介绍了如何在Matplotlib中正确显示中文,包括定位mpl-data路径、清除matplotlib缓存、下载并安装中文字体,以及使用自定义字体绘制带有中文的折线图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 步骤一

1.1 定位mpl-data所在位置,如下所示:

bubble@XPS-8930:~$ locate -b '\mpl-data'
/home/bubble/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data
/home/bubble/anaconda3/pkgs/matplotlib-2.2.2-py36h0e671d2_1/lib/python3.6/site-packages/matplotlib/mpl-data

1.2 清除cache里面matplotlib的内容

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

步骤二

2.1下载字体库:

链接:https://github.com/tracyone/program_font/blob/master/YaHei Consolas Hybrid 1.12 For Powerline.ttf

2.2 将下载后的字体库放到anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/下面,如下所示

bubble@XPS-8930:~/Downloads$ cp YaHei.ttf /home/bubble/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/

步骤三

代码演示,画一个带有汉字的折线图:

"""a demo of matplotlib"""
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
fname = "/home/bubble/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/YaHei.ttf"
myfont = FontProperties(fname=fname)
years = [1950, 1960, 1970, 1980, 1990, 2000, 2010]
gdp = [300.2, 543.3, 1075.9, 2862.5, 5979.6, 10289.7, 14958.3]
#创建一副线图,x轴是年份,y轴是gdp
fig = plt.figure(figsize=(20, 8), dpi=80) # (20, 8)宽20,高8,dpi设置图片清晰度, 让图片更加清晰
plt.plot(years, gdp, color='green', marker='o', linestyle='solid')
#添加一个标题
plt.title(u'GDP趋势',color='b',fontproperties=myfont,fontsize=20)#color字体颜色,fontsize字体大小
#给x轴加标记
plt.xlabel('年份',color='y',fontproperties=myfont,fontsize=20)#color字体颜色,fontsize字体大小
#给y轴加标记
plt.ylabel(u'十亿美元',color='r',fontproperties=myfont,fontsize=20)#color字体颜色,fontsize字体大小
plt.show()

折线图显示:

参考:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值