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中表达式i += x与i = i + x是否等价
Feb 08 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
python如何统计代码运行的时长
Jul 24 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Python Pandas对缺失值的处理方法
Sep 27 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
Apr 02 Python
如何在django中运行scrapy框架
Apr 22 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
Apr 26 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 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
《星际争霸II》全新指挥官斯台特曼现已上线
2020/03/08 星际争霸
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
js的逻辑运算符 ||
2010/05/31 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
『jQuery』名称冲突使用noConflict方法解决
2013/04/22 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
js转义字符介绍
2013/11/05 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
浅谈js中变量初始化
2015/02/03 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
layui导出所有数据的例子
2019/09/10 Javascript
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
什么是GWT的Module
2013/01/20 面试题
工程地质勘察专业大学生求职信
2013/10/13 职场文书
网络事业创业计划书范文
2014/01/09 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
手机被没收的检讨书
2014/10/04 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
垂直极限观后感
2015/06/08 职场文书
电视新闻稿
2015/07/17 职场文书
二年级数学教学反思
2016/02/16 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Spring Data JPA使用JPQL与原生SQL进行查询的操作
2021/06/15 Java/Android