一、在测试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:\\Windows\\Fonts\\msyh.ttf") plt.figure(figsize=(,),dpi=) x = range(,)
y = [random.randint(,) for i in range()] _xticks_labels = ["10点{}分".format(i) for i in range()]
_xticks_labels += ["11点{}分".format(i) for i in range()]
# plt.xticks(list(x)[::])
plt.xticks(list(x)[::],_xticks_labels[::],rotation=,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:\Windows\Fonts目录下。

 

2、选择你自己喜欢的字体,然后“右键”→“属性”,可以看到该字体的名字。

本教程以微软雅黑字体为例,您也可以选择其他字体,如果自带的字体库满足不了您的需求,您可以网上下载其他字体,将字体解压到C:\Windows\Fonts目录即可。

 

3、在IDE工具中,导入matplotlib库,开始定义字体所在路径。

  • 1 先不设置参数,可以看到中文字体显示为方框(此处使用的是SVC三分类模型)。
 
 
  • 2 设置参数之后,可以看到中文字体可以正常显示了。(代码经过测试,可放心使用)

哪里需要中文设置,保证该函数里有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:\\Windows\\Fonts\\msyh.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, X[:, 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[:, 0], 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下的matplotlib画图中文显示设置的更多相关文章

  1. ubuntu下matplotlib画图中文乱码问题

    最近因为论文原因在学习机器学习,看的一本叫做<机器学习实战>的书,看了看还是不错的,因为其中既有原理又有实例.今天载使用matplotlib进行画图时,发现中文会显示为小方块,这个问题真是 ...

  2. Python 3下Matplotlib画图中文显示乱码的解决方法

    解决办法: 因为乱码是Matplotlib缺少中文配置所导致的,所以我们只需要在程序中说明使用中文字体即可. 先选一个字体.在计算机中找到字体,选择一种中文字体,比如我这里用的是楷体 右键可以查看其属 ...

  3. Python 在Windows下安装matplotlib

    windows下安装很麻烦,使用easy_install 安装报错  提示缺少freetype 和png 后经多方查询,最终安装成功 以下是安装过程 前提你的Python环境已经搭建好了 1.前提需要 ...

  4. Windows下Python中的中文路径和中文输出问题

    这几天有个项目需要写一点类似于脚本的小程序,就用Python写了,涉及到中文路径和中文输出的问题,整理一下. 有一个问题我觉得需要先强调一下,在写Python程序的时候,一定保证编码是utf-8,然后 ...

  5. Sphinx在windows下安装使用[支持中文全文检索]

    原文地址:http://www.fuchaoqun.com/2008/11/sphinx-on-windows-xp/ 前 一阵子尝试使用了一下Sphinx,一个能够被各种语言(PHP/Python/ ...

  6. windows下SVN日志反馈中文乱码的解决方法

    转自:https://shiyousan.com/post/635889908703806636 TortoiseSVN中文乱码的问题困扰了我好久,特别是每次使用“以标准差异文件显示修改”时,打开的文 ...

  7. windows下git bash显示中文

    1.C:\Program Files\Git\etc\git-completion.bash: alias ls='ls --show-control-chars --color=auto' 说明:使 ...

  8. Windows下Oracle不显示中文[已解决]

    跟着视频学习,然后讲到插入的时候有中文性别,就GG了,该显示中文的时候都是问号,觉得应该是编码的问题. 于是上网找了下,测试可行,方法如下 1,查询Oracle编码的语句: [sql] SELECT ...

  9. python windows下获取路径时有中文处理

    在windows中用os,path.abspath(__file__)时有中文路径时,默认是转成非unicode格式 这会导致,在其它模块使用该路径时,会报 utf8' codec can't dec ...

随机推荐

  1. Java中的标签

    @SuppressWarnings 简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量 ...

  2. git-github-TortoiseGit综合使用教程(一)简介

    简介: 本系列教程将参考廖雪峰的git系列教程,使用github的web界面,和TortoiseGit图形界面windows程序来实现. git 是什么: Git是目前世界上最先进的分布式版本控制系统 ...

  3. (C/C++学习笔记) 五. 常变量(只读变量)和宏

    五. 常变量(只读变量)和宏 ● 常变量 常变量 #include <iostream.h>                    //预处理文件 int main() { const d ...

  4. 5.1 C++基本操作符重载

    参考:http://www.weixueyuan.net/view/6379.html 总结: 操作符重载指的是将C++提供的操作符进行重新定义,使之满足我们所需要的一些功能. 长度运算符“sizeo ...

  5. 1.3用socketserver创建服务器

    socket服务器代码 # -*- coding: utf-8 -*-import socketserver,time myHost = '' myPort = 50007 def now(): #返 ...

  6. [转]linux shell 多线程实现

    情景 shell脚本的执行效率虽高,但当任务量巨大时仍然需要较长的时间,尤其是需要执行一大批的命令时.因为默认情况下,shell脚本中的命令是串行执行的.如果这些命令相互之间是独立的,则可以使用“并发 ...

  7. css 利用border 绘制三角形. triangle

    1.基础三角形. <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. chromium ①

    Chrome源码剖析 [序] && [一] 1. 它是如何利用多进程(其实也会有多线程一起)做并发的, 进程间通信,进程的开销:2. 做为一个后来者,它的扩展能力如何 3. 它的整体框 ...

  9. python 爬虫数据时间转换格式

    from datetime import datetimea = '2018/9/18 10/10'print(datetime.strptime(a,'%Y/%m/%d %H/%M'))>&g ...

  10. python列表(list)的使用技巧及高级操作

    python列表(list)的使用技巧及高级操作置顶 2018年03月25日 13:39:41 顽劣的石头 阅读数:5478 标签: python extend bisect list enumera ...