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制作简单的朴素基数估计器的教程
Apr 01 Python
Python运算符重载用法实例
May 28 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python 3.x读写csv文件中数字的方法示例
Aug 29 Python
python从入门到精通 windows安装python图文教程
May 18 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
python的命名规则知识点总结
Oct 04 Python
python 变量初始化空列表的例子
Nov 28 Python
基于python plotly交互式图表大全
Dec 07 Python
Python 过滤错误log并导出的实例
Dec 26 Python
calendar在python3时间中常用函数举例详解
Nov 18 Python
pycharm配置安装autopep8自动规范代码的实现
Mar 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
小谈php正则提取图片地址
2014/03/27 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
深入浅析Python字符编码
2015/11/12 Python
python3音乐播放器简单实现代码
2020/04/20 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python切片操作深入详解
2018/07/27 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
Python socket处理client连接过程解析
2020/03/18 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
医生实习工作总结的自我评价
2013/09/27 职场文书
环保宣传标语
2014/06/12 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
市级三好生竞选稿
2015/11/21 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android