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和JavaScript间代码转换的4个工具
Feb 22 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
Python分支结构(switch)操作简介
Jan 17 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
python3发送邮件需要经过代理服务器的示例代码
Jul 25 Python
python绘制随机网络图形示例
Nov 21 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
Mar 09 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
Django-celery-beat动态添加周期性任务实现过程解析
Nov 26 Python
浅谈Python数学建模之固定费用问题
Jun 23 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字符串的比较函数strcmp()与strcasecmp()的使用详解
2013/05/15 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
2019/05/06 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
js判断文本框输入的内容是否为数字
2015/12/23 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
python温度转换华氏温度实现代码
2020/12/06 Python
多重CSS背景动画实现方法示例
2014/04/04 HTML / CSS
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
前后端结合实现amazeUI分页效果
2020/08/21 HTML / CSS
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
大专自我鉴定范文
2013/10/23 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
2015中秋祝酒词
2015/08/12 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python