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的Django框架加载模版的方式
Jul 20 Python
Python中条件判断语句的简单使用方法
Aug 21 Python
Python中functools模块函数解析
Mar 12 Python
简单了解Django模板的使用
Dec 20 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
python 模拟银行转账功能过程详解
Aug 06 Python
Python shelve模块实现解析
Aug 28 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 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面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP 生成微信红包代码简单
2016/03/25 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
js中利用tagname和id获取元素的方法
2016/01/03 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
ECMAScript6--解构
2017/03/30 Javascript
详解微信小程序 相对定位和绝对定位
2017/05/11 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
简化Python的Django框架代码的一些示例
2015/04/20 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
Python实现购物车功能的方法分析
2017/11/10 Python
Python中类的初始化特殊方法
2017/12/01 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python的列表List求均值和中位数实例
2020/03/03 Python
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
销售找工作求职信
2013/12/20 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
打架检讨书范文
2015/01/27 职场文书
交流会主持词
2015/07/02 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技