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 相关文章推荐
Django入门使用示例
Dec 12 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
May 15 Python
Python中asyncio模块的深入讲解
Jun 10 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python facenet进行人脸识别测试过程解析
Aug 16 Python
python pillow模块使用方法详解
Aug 30 Python
python简单实现9宫格图片实例
Sep 03 Python
如何使用Python进行PDF图片识别OCR
Jan 22 Python
python实现三阶魔方还原的示例代码
Apr 28 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 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项目中比较通用的php自建函数的详解
2013/06/06 PHP
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
php与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
常用js脚本
2006/12/03 Javascript
JavaScript 特殊字符
2007/04/05 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
Vue.js实战之Vuex的入门教程
2017/04/01 Javascript
vue 指令之气泡提示效果的实现代码
2018/10/18 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
python 正则表达式 概述及常用字符
2009/05/04 Python
Python 类与元类的深度挖掘 II【经验】
2016/05/06 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
python基础梳理(一)(推荐)
2019/04/06 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
解决Django中多条件查询的问题
2019/07/18 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
2020/04/12 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
详解Anaconda 的安装教程
2020/09/23 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
HTML5中的拖放实现详解
2017/08/23 HTML / CSS
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
缴纳养老保险的证明
2014/01/10 职场文书
入学申请自荐信范文
2014/02/26 职场文书
低碳环保倡议书
2014/04/14 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
详解CSS故障艺术
2021/05/25 HTML / CSS
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js