python 折线图中文乱码_彻底解决 Python画图中文乱码问题--Pyplotz组件

1 源起

自从开始学习Python,就非常喜欢用来画图。一直没有需求画要中文显示信息的图,所以没有配置Python中文的环境。由于昨天就需要画几十个形式相同,只是数据不同的图,并且需要显示中文信息。如果用Excel画图会很浪费时间,这迫使我必须要配置Python的中文环境。于是前天晚上开始捯饬Python的中文环境,直到凌晨4点才终于配好,可以在notebook里面显示中文。但是,到昨天早上画图时还是出现了一些问题。

2 Python画图中文配置问题多

Python matplotlib 默认不支持中文,我使用的Python 2 需要花时间去配置(Python 3 可能没有那么复杂),才可实现中文显示无乱码。

我遇到的坑如下:

a  常用的CSV文件,无法正常显示中文字符。解决方法用Excel保存数据可以正常显示中文,无乱码;

b  配置中文环境中,需要引入字体,由于每个人的电脑环境不同,解决方法各不相同。 最 后,使用最麻烦的方式,直接定位到我电脑里面存的字体才能实现(Eg:myfont = fm.FontProperties(fname='/Users/apple/Downloads/simHei.ttf'));

c  能显示中文的时候,legend的大小就不能调;能调大小,legend的中文就不显示;   fontsize也无法修改大小,最后弃疗了。

3  彻底解决Python Matplotlib 画图时中文乱码问题

Pyplotz 中文支持组件

在这里给大家介绍一个新的库---Pyplotz:支持Python中文显示组件。在使用Seaborn或者Pyplot画图时,结合Pyplotz,无需繁琐的配置环境,使用简单的代码就可以画出正常显示中文的图啦。男票配置自己电脑中的Python中文环境也是花了很长时间才解决,我也没能绕过这个坑。为了彻底解决画图时中文显示乱码,Pyplotz就产生了。希望Pyplotz的出现,能让你的Python画图的中文显示更加简单。

Pyplotz一直在不断的完善中,如有不足之处,希望大家告诉我们哦,一起来完善~

1) 组件特性

a   跨平台轻量级 Matplotlib 中文支持组件。支持 Linux, MacOS 和 Windows;

b  兼容Python2 和Python3;

c  无需配置,让中文显示原生兼容;

d  兼容 Matplotlib 以及其依赖库(如: Seaborn);

e  支持 Matplotlib 混合编程, 完全相同的API设计;

2) 获取方式

使用命令行在终端安装: pip install pyplotz

点击此处可以访问GitHub查看更多关于Pyplotz 的信息,赶快去探索一下如何用来画图吧。

3) 实例

a  调用pyplotz

aecaf11bcd0d?utm_source=oschina-app

b 与Matplotlib 兼容,画图时显示中文

aecaf11bcd0d?utm_source=oschina-app

c 与Seaborn 兼容

aecaf11bcd0d?utm_source=oschina-app

2018年1月6日第二次编辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot的AOP是默认开启的,不需要加注解@EnableAspectJAutoProxy____听说SpringAOP 有坑?那就来踩一踩

Aspect Component public class CustomerServiceInterceptor {Before("execution(public * org.example.aop.demo..*.*(..))")public void doBefore() {System.out.println("do some important things before...");} }另外SpringBoot默认是cglib动态代理&a…

php4 apache 配置,[开发环境配置]windows下php4+mysql4+apache2开发环境配置

在网上看了好多php+mysql+apache的开发环境配置文档。但是其中不乏出现了很多的问题导致在配置开发环境的时候出现了很多的问题。这里总结出一份自己配置过程中的文档希望能给大家带来一些帮助。那么废话不多说,我们开始吧。首先我在配置的时…

mysql 开启远程访问_QxOrm 访问 MySQL

在前面的 QxOrm 章节中,我们已经介绍了对本地数据库的操作,现在是时候介绍对远程数据库的访问了,那么就以最常用的 MySQL 为例吧!在开始之前,首先要安装 MySQL。如果条件允许,建议将其安装在 Linux 系统上&…

当泛型遇到重载

当泛型遇到了重载,好戏,就发生了。 请看下面代码: 问题:代码能正确编译吗? 这个题目是一个考察泛型的题目。java里面,泛型实际上是“伪泛型”,并不像C#那样是实际上的泛型。 IDE会提示我们下…

oracle 查看时间对应周,oracle数据获取当前自然周,当前周的起始和结束时间

select to_char(sysdate,iw) from dual; --本周是第几个自然周select to_char(sysdate,yyyy) into v_sbzq_nf from dual; -- 当前年份SELECT to_char(TRUNC(TO_DATE(to_char(sysdate,yyyy-MM-dd),yyyy-MM-dd),IW),yyyy-MM-dd) FROM DUAL;--本周的起始时间(本周周一日期)SELECT …

redis查询所有key命令_三歪推荐:Redis常见的面试题

本文公众号来源:科技缪缪作者:科技缪缪本文已收录至我的GitHub说说Redis基本数据类型有哪些吧字符串:redis没有直接使用C语言传统的字符串表示,而是自己实现的叫做简单动态字符串SDS的抽象类型。C语言的字符串不记录自身的长度信息…

springboot系列——redisTemplate和stringRedisTemplate对比、redisTemplate几种序列化方式比较

文章目录一、redisTemplate和stringRedisTemplate对比1、StringRedisTemplate2、RedisTemplate二、redisTemplate序列化方式比较1、性能测试对比2、性能总结3、方案一、考虑效率和可读性,牺牲部分空间4、方案二、空间敏感,忽略可读性和效率影响5、使用示…

oracle rman备份慢,诊断Oracle RMAN备份慢的原因

㈠ 先在系统层面查询CPU、IO使用情况:top、iostat、sar...等㈡ EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();㈢ rman target / debug trace /tmp/rmandebug.txt log/tmp/rman_log20130727.txt执行备份㈣ EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();㈤ …

mysql查询默认排序规则_深究 mysql 默认排序, order by 的顺序【收藏】

mysql 语句中如果没有使用 order by 来排序,通常会用 主键正序排列,但是有的时候不是这样,来看一个实例。实例群友问:请教一个问题,mysql 默认排序问题,当sql 语句 的排序没有指定 主键(id&…

Spring Boot jackson配置使用详解

Spring Boot系列-json框架jackson配置详解 T1 - 前言 目前Java最常见的3中JSON操作框架分别为Gson、Jackson、FastJson,该篇文章主要讲解jackson在SpringBoot环境中各配置项的具体作用。 T2 - 环境依赖 jackson是spring-boot的web/webflux框架默认依赖的json库&…

oracle字段序列自增长,ORACLE序列(字段自增长)

序列:是oacle提供的用于产生一系列唯一数字的数据库对象。 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率创建序列:1、 要有创建序列的权限 create sequence 或 create any sequence2、 创建序列的语法CREATE SEQUENCE seque…

频率统计表用c语言_空间矢量脉宽调制建模与仿真(基于C语言的SIMULINK仿真模型 | 基于SVPWM模块的仿真)...

文末有仿真模型下载方式1.1 基于C语言的SIMULINK仿真模型使用C语言在MATLAB/SIMULINK中仿真,需要借助s-function builder模块实现。七段式SVPWM仿真模型如图1-1所示。仿真解算器(Solver)选择变步长(Variable-step)、od…

pythonrandom库seed_Python

Python seed() 函数 描述 seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。 语法 以下是 seed() 方法的语法: import random random.seed ( [x] ) 我们调用 random.random() 生成随机数时,每一次生成的数都是随机的。但是…

php基本语法 格式,PHP 基本语法格式

PHP 基本语法格式标准代码如下:复制代码 代码如下:...?>短标签模式(此模式需要修改PHP配置,让PHP支持短标签模式):复制代码 代码如下:...?>注释:复制代码 代码如下:/* ...*///#时间: 2009-12-14Abs: 取得绝对值. Acos: 取…

spring @Primary-在spring中的使用

在spring 中使用注解,常使用Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 Primary 的作用就出来了。下面是个简单的使用例子。…

php获取手机的mac地址,Android手机获取Mac地址的方法

[导读]这篇文章主要为大家详细介绍了Android手机获取Mac地址的方法,具有一定的参考价值最常用的方法,通过WiFiManager获取:/*** 通过WiFiManager获取mac地址* param context* return*/private static String tryGetWifiMac(Context context) {WifiManage…

python使用蓝牙功能_python bluetooth蓝牙信息获取蓝牙设备类型的方法

python 获取蓝牙设备类型 扫描蓝牙设备获取到的信息中,无法判断扫描到的蓝牙设备属于什么类型的设备。 扫描蓝牙信息使用的是python 里面的bluetooth模块。 首先扫描出来的是这样的信息 (74:60:FA:FD:FC:49,HUAWEI P30,5898764) 可根据5898764来判断是什么蓝牙设备。…

MySQL建表字段长度的限制、汉字和字母占字节数

varchar(N),N指的是最大字符数,不是字节数。 记住: (1)MySQL要求一个行的定义长度不能超过65535。 (2)单个字段如果大于65535,则转换为TEXT 。 (3)单行最…

linux 服务器启用端口,linux服务器放行端口

一、默认使用iptables的系统(例如centos6)1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。下面是命令实现:iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP再用命令iptables -L -n查看 是否设置好, 好看到全部 DROP 了这…

python3 xpath_Python 3中用XPath解析XML

我有以下xml:Biscuits Wrapped Finished Biscuits Biscuits (Wrapped)Biscuits Sweet Finished Biscuits Biscuits (Sweets)Biscuits Savoury Finished Biscuits Biscuits For Cheese....我已使用以下代码将其加载到树中:try: groups etree.parse(PRODU…