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库urllib与urllib2主要区别分析
Jul 13 Python
Python装饰器实现几类验证功能做法实例
May 18 Python
python3操作微信itchat实现发送图片
Feb 24 Python
浅谈pandas用groupby后对层级索引levels的处理方法
Nov 06 Python
python实现网页自动签到功能
Jan 21 Python
Python列表解析操作实例总结
Feb 26 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
详解python中groupby函数通俗易懂
May 14 Python
opencv 实现特定颜色线条提取与定位操作
Jun 02 Python
python实现excel公式格式化的示例代码
Dec 23 Python
关于的python五子棋的算法
May 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
php中http_build_query 的一个问题
2012/03/25 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
2017/05/08 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
浅谈nodejs中的类定义和继承的套路
2017/07/26 NodeJs
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——VP
2018/04/04 DOTA
Python如何快速实现分布式任务
2017/07/06 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
使用Python实现正态分布、正态分布采样
2019/11/20 Python
python编写微信公众号首图思路详解
2019/12/13 Python
python数据分析:关键字提取方式
2020/02/24 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
美国最大的宠物用品零售商:PetSmart
2016/11/14 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
房屋出租协议书
2014/04/10 职场文书
花木兰观后感
2015/06/10 职场文书
2016年国陪研修感言
2015/11/18 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers