mac在matplotlib中显示中文的操作方法


Posted in Python onMarch 06, 2020

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形   。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

下面开始今天的正文。

首先保证电脑里是否安装了中文字体,然后找到他们!!

具体步骤如下:

先打开终端,command+空格 搜索 ter,然后会蹦出终端,点开

输入 fc-list :lang=zh

如果显示command not found

输入 conda install fontconfig

然后输入 y

然后就安装好了!!!!

再输入fc-list :lang=zh

好了,看看有哪些字体

剩下就是anaconda的操作了

import matplotlib.pyplot as plt
plt.rcParams["font.family"] = 'Arial Unicode MS'

import matplotlib
a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
 
for i in a:
 print i

mac在matplotlib中显示中文的操作方法

#保证中文正常使用
from sklearn.datasets import make_blobs, load_iris
import matplotlib.pyplot as plt


# 支持中文
plt.rcParams['font.sans-serif'] = ['Arial Black'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

n_samples = 1000
random_state = 37 #随机分割测试集和训练集

x, y = make_blobs(n_samples=n_samples, random_state=random_state)
# x, y = load_iris(True) # 莺尾花
print(x.shape, y.shape)
plt.scatter(x[:, 0], x[:, 1], c=y)
plt.title(u"原始数据分布")
plt.xlabel(u"长度")
plt.ylabel(u"宽度")
plt.show()

mac在matplotlib中显示中文的操作方法

知识点补充:

给大家补充一个matplotlib中文乱码问题

在ubuntu16.04中使用python的matplotlib模块进行科学制图时,在输出图例或者标题的时候出现中文乱码问题:

解决:

下载字体:msyh.ttf (微软雅黑),放在系统字体文件夹下: /usr/share/fonts
同时我也复制了下放在matplotlib的字体文件夹下了(不知道这一步是不是必须)

/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/

修改matplotlib配置文件:

sudo vim /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc

删除font.family和font.sans-serif两行前的#,并在font.sans-serif后添加中文字体
Microsoft YaHei, ...(其余不变)

删除~/.cache/matplotlib下文件fontList.py3k.cache

重启python即可

注意:在我修改完成后还需要在代码里加入:

import maplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 显示中文不乱码
plt.rcParams['axes.unicode_minus'] = False # 显示负数不乱码

另外:可以执行下这段程序--可以打印出可用的字体:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
from matplotlib.font_manager import FontManager
import subprocess

fm = FontManager()
mat_fonts = set(f.name for f in fm.ttflist)
#print(mat_fonts)
output = subprocess.check_output('fc-list :lang=zh -f "%{family}\n"', shell=True)
#print( '*' * 10, '系统可用的中文字体', '*' * 10)
#print (output)
zh_fonts = set(f.split(',', 1)[0] for f in output.decode('utf-8').split('\n'))
available = mat_fonts & zh_fonts
print ('*' * 10, '可用的字体', '*' * 10)
for f in available:
  print (f)

总结

到此这篇关于mac如何在matplotlib中显示中文的文章就介绍到这了,更多相关mac matplotlib 中文内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现系统状态监测和故障转移实例方法
Nov 18 Python
Python里隐藏的“禅”
Jun 16 Python
浅谈Python中copy()方法的使用
May 21 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
详解python中的 is 操作符
Dec 26 Python
正确理解Python中if __name__ == '__main__'
Jan 24 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
pandas 空数据处理方法详解
Nov 02 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
python实现学生管理系统开发
Jul 24 Python
python3中确保枚举值代码分析
Dec 02 Python
python数据类型可变不可变知识点总结
Mar 06 #Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 #Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 #Python
python实现QQ邮箱发送邮件
Mar 06 #Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 #Python
关于Python字符串显示u...的解决方式
Mar 06 #Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 #Python
You might like
WordPress判断用户是否登录的代码
2011/03/17 PHP
php UBB 解析实现代码
2011/11/27 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
js实现网页收藏功能
2015/12/17 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
node.js基础知识汇总
2020/08/25 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
python实现随机调用一个浏览器打开网页
2018/04/21 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
pandas计算最大连续间隔的方法
2019/07/04 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
C#面试题问题集
2016/04/02 面试题
小学生学雷锋演讲稿
2014/04/25 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
学校食品安全实施方案
2014/06/14 职场文书
六一儿童节活动总结
2014/08/27 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
Promise面试题详解之控制并发
2021/05/14 面试题
nginx共享内存的机制详解
2022/03/21 Servers