导入相关模块

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

中文显示设置

在之前,绘图时均使用的是英文,并没有使用过中文,那是因为直接使用中文会遇到乱码的问题,就比如:

a = (1,3,2,5,4)
b = (2,5,3,4,1)
plt.plot(a)
plt.xlabel('类型')
plt.ylabel('数量')
plt.title('某商店货物数量')
plt.show()

当然,并不是因为matplotlib不支持中文。作为Python中的热门模块,matplotlib是支持Unicode编码的,但是在默认情况下,它使用的是自带的字体,这些字体并没有中文支持。因此,最后的结果就是一堆的乱码。

解决乱码的方法有几种,主要方法有一下集中:

临时设置

matplotlib将许多常用模块集中到了统一的namespace中,产生了pylab。导入pylab后可以轻易的设置matplotlib所使用的字体,一个简单的例子如下:

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
plt.plot(a)
plt.xlabel('类型')
plt.ylabel('数量')
plt.title('某商店货物数量')
plt.show()

当然,使用临时方法可以解决中文显示,甚至在移植编码时,也保持了一定的容错性(除非新系统中缺少当前设置的字体)。但是,在每一次创建新的coding时,需要再次的设定,也就多了些许的麻烦。

暴力替换

除了每次进行设置,还有一种比较暴力的方式,也就是将matplotlib默认的字体替换为某种中文字体,然后就能一劳永逸了。当然这种方式并不推荐使用。最主要的原因是,替换后,虽然本地的代码可以正常显示,但是,在移植后,因为新系统和旧系统之间存在差异,很可能再次出现乱码。所以,不到万不得已,还是不推荐使用。

最新文章

  1. 使用Spring发送带附件的电子邮件(站内和站外传送)
  2. SQL Server(九)——事务
  3. 如何查看文件是dos格式还是unix格式的?
  4. curl网站开发指南
  5. ASP.net UrlRewrite的防盗链功能
  6. Lua查找字符串注意
  7. bootstrap的栅格布局不支持IE8该如何解决
  8. 安装ArchLinux的参考分区方案
  9. ASP.NET中的Excel操作(NPOI方式)
  10. http性能测试工具wrk源码学习之开篇
  11. sqlserver触发器insert,delete,update
  12. 2.1 Html
  13. docker常用命令汇总
  14. PageBaseType属性的功用
  15. MySQL 单条记录长度最大65535
  16. 【概念、概述】Spark入门教程[1]
  17. APT攻击基础科普
  18. ps photoshop cc 2015 Extract Assets(生成器)切图大法
  19. 技巧C#
  20. java集合类学习笔记之LinkList

热门文章

  1. 前台js加密实例
  2. 磁钉导航差速式AGV控制实验
  3. SDUT3146:Integer division 2(整数划分区间dp)
  4. 深入理解Oracle调试事件:10046事件详解
  5. mysql在线手册汇总
  6. python之 datatime 模块
  7. 我与前端之间不得不说的三天两夜之javaScript
  8. .net:Code First 创建或更新数据库
  9. spoj8222
  10. POJ - 2125 Destroying The Graph (最小点权覆盖)