Python中常用的可视化工具 Matplotlib 简单入门

Matplotlib是约翰·亨特(John Hunter,1968-2012)的心血结晶,他和许多贡献者一起投入了不可估量的时间和精力来制作一套全球数千名科学家使用的软件。

Matplotlib是约翰·亨特(John Hunter,1968-2012)的心血结晶,他和许多贡献者一起投入了不可估量的时间和精力来制作一套全球数千名科学家使用的软件。

Matplotlib是一个Python 2D绘图库和一些基本的3D图表,可以生成各种格式图片。Matplotlib可用于Python脚本,Python shell,Jupyter笔记本,Web应用程序服务器等等。

Matplotlib是约翰·亨特(John Hunter,1968-2012)的心血结晶,他和许多贡献者一起投入了不可估量的时间和精力来制作一套全球数千名科学家使用的软件。

查看Matplotlib 版本

  1. >>>importmatplotlib
  2. >>>matplotlib.__version__
  3. '3.0.3'

在Python 中调用Matplotlib,通常使用 import matplotlib.pyplot 调用Matplotlib 集成的快速绘图 pyplot模块。

Figure(整个图像)

在任何绘图之前,需要一个Figure对象,可以理解成需要一张画板才能开始绘图。

  1. importmatplotlib.pyplotasplt
  2. fig=plt.figure()

在Matplotlib中,整个图像为一个Figure 对象。Figure对象中可以包含一个或者多个Axes对象,每个Axes 对象都是一个拥有自己坐标系统的绘图区域。

Python中常用的可视化工具 Matplotlib 简单入门

Axes(轴线)

在拥有Figure对象之后,在作画前还需要轴,没有轴的话就没有绘图基准,所以需要添加Axes。也可以理解成为真正可以作画的纸。

  1. ax=fig.add_subplot(111)
  2. ax.set(xlim=[0,5],ylim=[0,6],title='AnExampleAxes',
  3. ylabel='Y-Axis',xlabel='X-Axis')
  4. plt.show()

上述代码,在一幅图上添加了一个Axes,然后设置了这个Axes的X轴以及Y轴的取值范围,以及一些文本信息。效果如下:

Python中常用的可视化工具 Matplotlib 简单入门

Matplotlib下, 一个 Figure 对象可以包含多个子图(Axes),可以使用 subplot() 快速绘制,其调用形式如下 :

  1. subplot(numRows,numCols,plotNum)
  • 图表的整个绘图区域被分成 numRows 行和 numCols 列;
  • 然后按照从左到右,从上到下的顺序对每个子区域进行编号,左上的子区域的编号为1;
  • plotNum 参数指定创建的 Axes 对象所在的区域;

对于上面的fig.add_subplot(111)就是添加Axes的,参数的解释的在画板的第1行第1列的***个位置生成一个Axes对象来准备作画。

也可以通过fig.add_subplot(2, 2, 1)的方式生成Axes,前面两个参数确定了面板的划分。

如果 numRows, numCols 和 plotNum 这三个数都小于 10 的话, 可以把它们缩写为一个整数, 例如 subplot(221) 和 subplot(2,2,1) 是相同的。

subplot 在 plotNum 指定的区域中创建一个轴对象。如果新创建的轴和之前创建的轴重叠的话,之前的轴将被删除。

Python中常用的可视化工具 Matplotlib 简单入门

Multiple Axes 多个子图

下面的一次性生成所有 Axes:

Python中常用的可视化工具 Matplotlib 简单入门

简单总结一下

  • 在最顶层的是画布,称之为figure;
  • 在画布上可以在不同的区域上绘制,这些区域称之为subplot;

每一个子图区域,又可以做如下划分:

  • axis 也就是x,y坐标轴;
  • tick 也就是每一个坐标轴的刻度;
  • label 也就是坐标轴上的标签;
  • title 也就是每一个子图的标题;
  • data 是输入的数据绘制出的图像;

Matplotlib 绘图演示代码

将这个图像划分成8个子区域,每个子区域绘制一个不同的图像。

  1. importnumpyasnp
  2. importmatplotlib.pyplotasplt
  3. x=[1,2,3,4]
  4. y=[3,5,10,25]
  5. #创建子图
  6. plt.subplot(241)
  7. plt.plot(x,y)
  8. plt.title("plot")
  9. plt.subplot(242)
  10. plt.scatter(x,y)
  11. plt.title("scatter")
  12. plt.subplot(243)
  13. plt.pie(y)
  14. plt.title("pie")
  15. plt.subplot(244)
  16. plt.bar(x,y)
  17. plt.title("bar")
  18. plt.subplot(245)
  19. plt.boxplot(y,sym="o")
  20. plt.title("box")
  21. #sin/cos图像
  22. plt.subplot(246)
  23. x=np.linspace(0,np.pi)
  24. y_sin=np.sin(x)
  25. y_cos=np.cos(x)
  26. plt.plot(x,y_sin)
  27. plt.plot(x,y_cos)
  28. #g--设置线条样式和颜色
  29. plt.subplot(247)
  30. plt.plot(x,y_sin,'g--')
  31. plt.title("sin")
  32. #加载本地图片
  33. importmatplotlib.imageasmpimg
  34. img=mpimg.imread('666.jpg')
  35. plt.subplot(248)
  36. plt.imshow(img)
  37. plt.title("cool...")
  38. plt.show()

Python中常用的可视化工具 Matplotlib 简单入门

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月6日 06:21
下一篇 2023年5月6日 06:22

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信