matplotlib中文显示问题

下面这个方法不能用。

网上很多教程都是说在配置文件中修改:%Python_home%Lib\site-packages\matplotlib\mpl-data\matplotlibrc (Windows)

  

  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”,该行指示缺省字体和字体的优先使用顺序

然后复制字体到matplotlib\mpl-data\fonts\ttf文件夹中

最后发现一个很繁琐的方法:

import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname=‘C:/Windows/Fonts/msyh.ttc‘)

import matplotlib.pyplot as plt

plt.clf()  # 清空画布
plt.plot([1, 2, 3], [4, 5, 6])
plt.xlabel("横轴",fontproperties=myfont)
plt.ylabel("纵轴",fontproperties=myfont)
plt.title("pythoner.com",fontproperties=myfont)
legend([‘图例‘],prop=myfont)
plt.show()

  注意legend的字体配置是prop,其他的是fontproperites。

这种方法是唯一有效的。

如果有更方便的方法请大家告知。

时间: 2024-11-09 05:28:34

matplotlib中文显示问题的相关文章

Matplotlib中文显示的问题

#Matplotlib中文显示有问题,当然可以修改配置文件matplotlibrc ,不过较为麻烦.其实只要在代码中指定字体就可以了 #第一种方法: # -*- coding: utf-8 -*- from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 mpl.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题 t = arange(-5

解决linux服务器上matplotlib中文显示乱码问题

报错信息: UserWarning: findfont: Font family [u'sans-serif'] not found. Falling back to DejaVu Sans 找不到字体,在绘制的图片中中文显示乱码 解决方法: 1. 查看配置路径: import matplotlib print (matplotlib.matplotlib_fname()) 2. 下载字体:simhei.tff : http://www.font5.com.cn/font_download.ph

matplotlib 中文显示 的问题

第一种方法 from pylab import mpl import numpy as np mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号 '-' 显示为方块的问题 %pylab inline t = np.arange(-5 * np.pi, 5 * np.pi, 0.01) y = np.sin(t)/t plt.plot

python matplotlib 中文显示参数设置

refer to: https://segmentfault.com/a/1190000005144275 #coding:utf-8 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

python数据分析入门——matplotlib的中文显示问题&最小二乘法

正在学习<用python做科学计算>,在练习最小二乘法时遇到matplotlib无法显示中文的问题.查资料,感觉动态的加上几条语句是最好,这里贴上全部的代码. # -*- coding: utf-8 -*- """ Created on Wed Aug 10 23:20:26 2016 @author: Administrator """ import numpy as np from scipy.optimize import le

彻底解决matplotlib中文乱码问题(转)

彻底解决matplotlib中文乱码问题 1.环境查看a.系统版本查看[[email protected] ~]$ cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) b.系统中文字体查看 [[email protected] ~]$ fc-list :lang=zh/usr/share/fonts/wqy-microhei/wqy-microhei.ttc: 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro

pyplot的中文显示

pyplot的中文显示:第一种方法 pyplot并不默认支持中文显示,需要rcParams修改字体实现. 1 import matplotlib.pyplot as plt 2 import matplotlib 3 matplotlib.rcParams['font.family']='SimHei' 4 plt.plot([0,2,4,6,8],[3,1,4,5,2])#分别控制x轴和y轴 5 plt.ylabel("纵轴(值)") 6 plt.axis([-1,10,0,6])

matplotlib 中文乱码问题

matplotlib是Python著名的绘图库,默认并不支持中文显示,因此在不经过修改的情况下,无法正确显示中文. 本文将介绍解决这一问题的方法. 不修改文件,加两行代码即可: matplotlib.rcParams['font.sans-serif'] = ['simhei'] # 配置字体 matplotlib.rcParams['font.family'] = 'sans-serif' 改前: 改后: 原文地址:https://www.cnblogs.com/liangmingshen/p