matplotlib使用中文字体

本文介绍如何在Matplotlib中配置并使用中文字体,确保图表标题及文本能够正常显示中文字符。通过修改matplotlibrc文件及调整字体路径,可以实现不同操作系统下的中文支持。

matplotlib使用中文字体

matplotlib 1.1.0版

修改
C:\Python26\Lib\site-packages\matplotlib\mpl-data\matplotlibrc文件(Windows)
/usr/share/matplotlib/mpl-data/matplotlibrc (Linux):

font.family         : sans-serif         #打开该选项
font.sans-serif     : Microsoft YaHei , Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif     #添加“Microsoft YaHei”,该行指示缺省字体

注:在font.sans-serif中添加的字体名称必须正确,可以在
$HOME/.matplotlib/fontList.cache
C:\Users\用户名\.matplotlib\fontList.cache
文件中 ,通过查找文件名找到对应的名称,如上面的"Microsoft YaHei"的字体文件名称为“msyh.ttf",搜索一下就找到了。一些可用的字体名称见示例代码.
如果还不行,试着将字体文件copy到
/usr/share/matplotlib/mpl-data/fonts/ttf(Windows)
C:\Python26\Lib\site-packages\matplotlib\mpl-data\fonts\ttf(Linux)
目录下,再试。示例代码如下:

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt 
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['Microsoft YaHei']  #设置缺省字体 
plt.figure(figsize=(8,4))
a = plt.text(0.05, 0.05, u"直线和二次曲线的交点")
#Microsoft YaHei,FangSong,YouYuan,SimHei,STKaiti,STSong,SimSun-ExtB,Webdings
plt.text(0.05, 0.95, u "STSong直线", fontproperties='STSong' )
plt.text(0.05, 0.85, u"STKaiti直线", fontproperties='STKaiti')
plt.text(0.05, 0.75, u"FangSong直线", fontproperties='FangSong')
plt.text(0.05, 0.65, u"YouYuan直线", fontproperties='YouYuan')
plt.text(0.05, 0.55, u"SimHei直线", fontproperties='SimHei')
plt.text(0.05, 0.45, u"Microsoft YaHei微软雅黑", fontproperties='Microsoft YaHei')
plt.text(0.05, 0.35, u"STCaiyun华文彩云", fontproperties='STCaiyun')
plt.show()

注意: 字符串,都用u"..."的形式.(文件编码utf-8 加上" # coding = utf-8  "一行.)

转载于:https://my.oschina.net/cppblog/blog/10300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值