1安装包

pycharm可以直接安装:
file——settings——python interpreter——有一个➕号就是install——搜索matplotlib——左下角install package——等待安装成功就行了

2图标中文显示

在学习过程中发现制作出来的图表中文显示异常,就像下图这样:

解决办法亲测有效,只适用于windows64bit:

  1. 首先需要下载一个字体,SimHei字体下载链接
  2. 将下载好的字体放到pyProject\venv\Lib\site-packages\matplotlib\mpl-data\fonts\ttf中,直接双击安装
  3. 加入以下两行配置代码
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号

关于matplotlib更多个性化设置参考这篇文章
以下的每一个代码块都是完整可独立运行的。

3画一个单坐标系折线图

效果如下:

import matplotlib
import matplotlib.pyplot as plt# 创建画布,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
plt.figure(figsize=(20,6),dpi=100)
# 正常显示中文
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y = [0,6,3,7,3,8,9,5,3,2] # 注意!!如果y里面的元素是str类型,要先转成int或float才可以正常画图
plt.plot(x,y)# 修改x,y轴刻度显示
plt.xticks(range(0,10,1)) # x轴刻度从0到10(不包括10)一个一个显示
plt.yticks(range(0,10,2)) # y轴刻度从0到10(不包括10)两个两个显示# 把图像保存到指定位置,这一句一定要放在show前面
plt.savefig("路径/文件名.png")# 显示图像
plt.grid(True,linestyle='--',alpha=0.5) # true表示添加网格,linestyle表示网格线的样式,alpha表示网格线透明度
plt.xlabel("这里是横轴/单位")
plt.ylabel("这里是纵轴/单位")
plt.title("这里是标题", fontsize=20) # fontsize调节标题大小
plt.show()

4画一个单坐标系多折线图

效果如下:

import matplotlib
import matplotlib.pyplot as plt# 创建画布,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
plt.figure(figsize=(20,6),dpi=100)
# 正常显示中文
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y1 = [0,6,3,7,3,8,9,5,3,2]
y2 = [2,5,2,7,5,4,6,5,4,4]
# 画几条线就写几个plot,color设置颜色,-是直线,--是虚线
plt.plot(x,y1,color='g',linestyle='-',label="第一次实验")
plt.plot(x,y2,color='r',linestyle='--',label="第二次实验")
plt.legend(loc ="best") # loc一般默认为best,表示label的位置# 修改x,y轴刻度显示
plt.xticks(range(0,10,1)) # x轴刻度从0到10(不包括10)一个一个显示
plt.yticks(range(0,10,2)) # y轴刻度从0到10(不包括10)两个两个显示# 显示图像
plt.grid(True,linestyle='--',alpha=0.5) # true表示添加,linestyle表示网格线的样式,alpha表示网格线透明度
plt.xlabel("这里是横轴/单位")
plt.ylabel("这里是纵轴/单位")
plt.title("这里是标题", fontsize=20) # fontsize调节标题大小
plt.show()

5画一个多坐标系折线图

效果如下:

import matplotlib
import matplotlib.pyplot as plt# 创建多坐标系画布,ncols表示坐标系个数,figsize决定画布大小,长和宽,dpi决定图像的清晰程度
fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(20,6),dpi=100)
matplotlib.rcParams['font.sans-serif']=['SimHei']   # 用黑体显示中文
matplotlib.rcParams['axes.unicode_minus']=False     # 正常显示负号# 绘制图像
x = [0,1,2,3,4,5,6,7,8,9]
y1 = [0,6,3,7,3,8,9,5,3,2]
y2 = [2,5,2,7,5,4,6,5,4,4]# 把单坐标系中的plt改成axes[i]
axes[0].plot(x,y1,color='g',linestyle='-',label="第一次实验")
axes[1].plot(x,y2,color='r',linestyle='--',label="第二次实验")# 在单坐标系中所有的设置都要多份
axes[0].legend(loc ="best")
axes[0].grid(True,linestyle='--',alpha=0.5)
axes[0].set_xlabel("横轴/单位")
axes[0].set_ylabel("纵轴/单位")
axes[0].set_title("标题", fontsize=20)axes[1].legend(loc ="best")
axes[1].grid(True,linestyle='--',alpha=0.5)
axes[1].set_xlabel("横轴/单位")
axes[1].set_ylabel("纵轴/单位")
axes[1].set_title("标题", fontsize=20)plt.show()

python-matplotlib制作图表与中文正常显示相关推荐

  1. Python matplotlib绘制图表

    Python matplotlib绘制图表 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一 ...

  2. Python+Matplotlib制作动画

    转载自:https://www.cnblogs.com/endlesscoding/p/10308111.html 看到一篇觉得非常不错的Python+Matplotlib制作动画的方法

  3. 编程python如何制作动画_用Python Matplotlib 制作动画

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:Hanz - 1 - 如果你对本文的代码感兴趣,可以去 Github ...

  4. python制作酷炫动画_厉害了!Python+matplotlib制作8个排序算法的动画

    1 算法的魅力 深刻研究排序算法是入门算法较为好的一种方法,现在还记得4年前手动实现常见8种排序算法,通过随机生成一些数据,逐个校验代码实现的排序过程是否与预期的一致,越做越有劲,越有劲越想去研究,公 ...

  5. 厉害了!Python+matplotlib制作8个排序算法的动画

    文章来源于Python与算法社区,作者zglg 1 算法的魅力 深刻研究排序算法是入门算法较为好的一种方法,现在还记得4年前手动实现常见8种排序算法,通过随机生成一些数据,逐个校验代码实现的排序过程是 ...

  6. [数据分析]-ubuntu下解决anaconda环境下matplotlib绘制图表时中文显示乱码问题

    1.问题描述 系统:ubuntu20.04 环境:anaconda下的独立环境 编译器:vscode 语言:python 数据分析时运行代码,想要显示中文信息出现如下乱码 2.问题成因 本问题的成因是 ...

  7. python matplotlib.pyplot.show() plt.show()(显示一个图表)

    from matplotlib\pyplot.py def show(*args, **kw):"""Display a figure.显示一个图表.When runni ...

  8. Python Matplotlib 花式绘图和中文字符显示、散点图、设置网格和散点函数拟合

    目录 1.隔段的bar绘图 2.显示中文字符的曲线绘制 3.需要注意的内容 4.Python绘图库Matplotlib.pyplot之网格线设置(plt.grid()) 5.绘制散点分布图 6.调整图 ...

  9. 解决使用matplotlib.pyplot画图包含中文乱码显示问题(macbook上 family ‘sans-serif‘ not found 问题)

    一.matplotlib画图中文乱码问题 使用matplotlib.pyplot画图,有中文字体会显示乱码问题,这时需要添加如下代码: import matplotlib.pyplot as plt ...

最新文章

  1. 使用 java 的 displaytag1.2 分页组件使用步骤
  2. [Python人工智能] 七.什么是过拟合及dropout解决神经网络中的过拟合问题
  3. Linux内核tcp时间测量,linux内核 – 测试linux内核中函数的执行时间
  4. [Java基础]体验Lambda表达式
  5. android 回车键事件编程
  6. Log4j2进阶使用(Pattern Layout详细设置)
  7. php抽奖设置数量,php实现自定义中奖项数和概率的抽奖函数示例
  8. Excel VBA入门的基础语句
  9. 如何关掉 pyg解密小组声明窗口 (飘云阁番茄插件)
  10. IEC 60335标准介绍
  11. 关于SD卡原理图和实际封装区别的探索
  12. html5 制作书架展示 PHP,简单做出HTML5翻页效果文字特效
  13. 用Paddle自动生成二次元人物头像
  14. DNSPod十问花生壳陈宇晔:远程办公领域的下一个“独角兽”?
  15. 等了20年的物联网,这次真的会成功吗?
  16. Windows SubSystem for Linux(WSL)设置默认和设置默认登陆用户
  17. 第一次写“辅助”软件(微信游戏跳一跳)
  18. 前端系列——vue2+高德地图web端开发(poi搜索两种方式)
  19. 微信小程序--一个简洁好看的轮播图组件(含源码)
  20. leetcode 1109. 航班预订统计(C++、python)

热门文章

  1. 2017京东实习生笔试题(一)
  2. 【非常简单bug管理工具-TAPD 】
  3. Ubuntu 19.04初体验
  4. npm run dev命令报错解决方式
  5. 【专利转让】掌纹识别、图像复原、人脸检测定位相关领域
  6. sqlplus中怎么导入java类,[导入]SQLPLUS 操作大全
  7. opencv环境配置相关软件
  8. Webstorm 2019激活码(有效期至2020年6月)
  9. 微信公众号java开发沉淀(五)推送群发消息
  10. nested exception is java.sql.SQLException: Data truncated for column 'PassWord' at row 72