Windows下的matplotlib画图中文显示设置
发布时间:2020-12-14 02:39:40 所属栏目:Windows 来源:网络整理
导读:一、在测试matplotlib时遇到X轴中文字符不显示的问题,参考网上 源代码如下 from matplotlib import pyplot as pltimport randomimport matplotlib from matplotlib import font_manager# my_font = { ‘ family ‘ : ‘ MicroSoft YaHei ‘ ,# ‘ weight ‘
一、在测试matplotlib时遇到X轴中文字符不显示的问题,参考网上源代码如下 from matplotlib import pyplot as plt import random import matplotlib from matplotlib import font_manager # my_font = {‘family‘ : ‘MicroSoft YaHei‘,# ‘weight‘ : ‘bold‘,# ‘size‘ : ‘larger‘} # matplotlib.rc("font",**my_font) # matplotlib.rc("font",) my_font = font_manager.FontProperties(fname="C:WindowsFontsmsyh.ttf") plt.figure(figsize=(20,8),dpi=80) x = range(0,120) y = [random.randint(20,35) for i in range(120)] _xticks_labels = ["10点{}分".format(i) for i in range(60)] _xticks_labels += ["11点{}分".format(i) for i in range(60)] # plt.xticks(list(x)[::3]) plt.xticks(list(x)[::3],_xticks_labels[::3],rotation=45,fontproperties=my_font) plt.plot(x,y) plt.show() 二、参考网上玩法电脑环境:Windows7-64bit,Anaconda3-4.2.0(对应python 3.5.2版本),IDE是Anaconda自带的Spyder 3。 1、找到Windows系统自带的字体库目录,默认在C:WindowsFonts目录下。
?
2、选择你自己喜欢的字体,然后“右键”→“属性”,可以看到该字体的名字。本教程以微软雅黑字体为例,您也可以选择其他字体,如果自带的字体库满足不了您的需求,您可以网上下载其他字体,将字体解压到C:WindowsFonts目录即可。
?
3、在IDE工具中,导入matplotlib库,开始定义字体所在路径。
?
?
哪里需要中文设置,保证该函数里有fontproperties = my_font参数即可。比如x轴的标签为:鸢尾花的花萼长度。那么可以使用: plt.xlabel(‘鸢尾花的花萼长度‘,fontproperties = my_font)
?
?
# coding:utf-8
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm,datasets
# 以下两行是解决常见的其他问题
plt.rcParams[‘font.sans-serif‘] = [‘SimHei‘] # 指定默认字体
plt.rcParams[‘axes.unicode_minus‘] = False # 解决保存图像是负号‘-‘显示为方块的问题
import matplotlib.font_manager as mf # 导入字体管理器
my_font= mf.FontProperties(fname=‘C:WindowsFontsmsyh.ttf‘) # 加载字体
iris = datasets.load_iris()
X = iris.data[:,:2]
Y = iris.target
def my_kernel(X,Y):
M = np.array([[2,0],[0,1.0]])
return np.dot(np.dot(X,M),Y.T)
h = 0.02
clf = svm.SVC(kernel = my_kernel)
clf.fit(X,Y)
x_min,x_max = X[:,0].min() - 1,X[:,0].max() + 1
y_min,y_max = X[:,1].min() - 1,1].max() + 1
xx,yy = np.meshgrid(np.arange(x_min,x_max,h),np.arange(y_min,y_max,h))
Z = clf.predict(np.c_[xx.ravel(),yy.ravel()])
Z = Z.reshape(xx.shape)
plt.pcolormesh(xx,yy,Z,cmap=plt.cm.Paired)
plt.scatter(X[:,1],c=Y,cmap=plt.cm.Paired)
plt.title(‘测试!!!3-Class classification using SVM with custom kernel‘,fontproperties = my_font)
plt.axis(‘tight‘)
plt.show()
?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows-vista – 用于Vista 64位的RAM磁盘
- .net – 如何安排Windows服务的启动和停止?
- windows – 为什么从Jenkins(但在其他地方)调用时
- windows-phone-7 – Uri.IsWellFormedUriString的
- 在Windows中使用Git Bash有哪些命令,例如什么时候
- 在多个Windows服务器上运行命令
- Windows下Kettle定时任务执行并发送错误信息邮件
- windows – 从Oracle中指定用户杀死所有会话的最
- windows-phone-8 – 如何更改起始页?
- windows-server-2008 – SCHTASKS无法管理远程任
热点阅读