程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2023-05(3)

【Python数据可视化】Matplotlib学习笔记之pyplot(2)

发布于2020-02-25 09:52     阅读(895)     评论(0)     点赞(17)     收藏(0)


【Python数据可视化】Matplotlib学习笔记之pyplot(2)

        简介:Matplotlib 是一个Python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。

        编程环境:Python 3.8

                          pycharm 2017 

        需要安装的库:numpy,matplotlib

接上篇【Python数据可视化】Matplotlib学习笔记之pyplot(1)   <<<点此阅读

  1. '''8.面向对象的方法绘图'''
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. from pylab import *
  5. '''
  6. 1.pyplot 经典高层封装
  7. 简单易用,交互使用方便,可以根据命令实时作图
  8. 但底层定制能力不强
  9. '''
  10. m=np.arange(0,10,1)
  11. n=np.random.randn(len(m))
  12. plt.plot(m,n)
  13. plt.title('pyplot')
  14. plt.show()
  15. '''
  16. 2.pylab 将matplotlib和numpy合并的模块,模拟MATLAB编程环境
  17. 完全封装,环境最接近MATLAB,不推荐使用
  18. '''
  19. x=arange(0,10,1)
  20. y=randn(len(x))
  21. plot(x,y)
  22. title('pylab')
  23. show()
  24. '''
  25. 3.面向对象的方式,matplotlib的精髓,更基础和底层的方式
  26. (object-oriented),接近matplotlib基础和底层的方式。
  27. 难度稍大,但定制能力强。
  28. 总结:实战中推荐,总和使用OO和pyplot的方式,显示导入numpy
  29. 常用模块导入代码:
  30. import numpy as np
  31. import matplotlib.pyplot as plt
  32. '''
  33. a=np.arange(0,10,1)
  34. b=np.random.randn(len(a))
  35. fig=plt.figure()
  36. ax=fig.add_subplot(111)
  37. l,=plt.plot(a,b)
  38. t=ax.set_title("object-oriented")
  39. plt.show()

  1. '''9.使用subplot绘制子图'''
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. '''
  5. matplotlib对象简介
  6. FigureCanvas--画布
  7. Figure--------图
  8. Axes----------坐标轴
  9. 1. fig=plt.figure()
  10. Figure 实例
  11. 可以添加Axes实例
  12. 2.ax=fig.add_subplot(111) ----添加子图
  13. 返回Axes实例
  14. 参数一:子图总行数
  15. 参数二:子图总列数
  16. 参数三:子图位置
  17. 在Figure上添加Axes的常用方法
  18. '''
  19. x=np.arange(1,100)
  20. fig=plt.figure()
  21. ax1=fig.add_subplot(221)
  22. ax2=fig.add_subplot(222)
  23. ax3=fig.add_subplot(223)
  24. ax4=fig.add_subplot(224)
  25. ax1.plot(x,x)
  26. ax2.plot(x,x**2/100)
  27. ax3.plot(x,-x)
  28. ax4.plot(x,np.log(x))
  29. plt.show()
  30. #pyplot画子图
  31. x=np.arange(1,100)
  32. plt.subplot(221)
  33. plt.plot(x,x)
  34. plt.subplot(222)
  35. plt.plot(x,-x)
  36. plt.subplot(223)
  37. plt.plot(x,np.log(x))
  38. plt.subplot(224)
  39. plt.plot(x,x**2)
  40. plt.show()

  1. '''10.创建多图'''
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. '''创建多个Figure'''
  5. fig1=plt.figure()
  6. ax1=fig1.add_subplot(111)
  7. ax1.plot([1,2,3],[3,2,1])
  8. fig2=plt.figure()
  9. ax2=fig2.add_subplot(111)
  10. ax2.plot([1,2,3],[1,2,3])
  11. plt.show()
  12. '''11.添加网格'''
  13. import numpy as np
  14. import matplotlib.pyplot as plt
  15. '''plt封装方式'''
  16. y=np.arange(1,5)
  17. plt.plot(y,y*2,'r')
  18. plt.grid(True)#简单打开网格
  19. plt.title('plt')
  20. plt.grid(color='k',linewidth='0.5',linestyle='-.')#设置网格
  21. plt.show()
  22. '''面向对象'''
  23. x=np.arange(0,10,1)
  24. fig=plt.figure(figsize=(16,8),dpi=128) #设置图幅大小及分辨率
  25. ax=fig.add_subplot(111)
  26. plt.plot(x,x**2,'c')
  27. ax.grid(color='g',linewidth='0.5',linestyle='--')
  28. plt.show()

  1. '''12.添加图例legend'''
  2. import numpy as np
  3. import matplotlib.pyplot as plt
  4. '''plt方式'''
  5. x=np.arange(1,11,1)
  6. plt.plot(x,x*2,label='Normal')#label--图例名称
  7. plt.plot(x,x*3,label='Fast')
  8. plt.plot(x,x*4,label='Faster')
  9. plt.legend(loc=0,ncol=2)
  10. '''显示图例 loc 位置 0 best
  11. 1 upper right
  12. 2 upper left
  13. 3 lower left
  14. 4 lower right
  15. 5 right
  16. 6 center left
  17. 7 center right
  18. 8 lower center
  19. 9 upper center
  20. 10 center
  21. ncol 图例列数
  22. '''
  23. plt.legend(['A','B','C']) #也可将图例标签设置在legend里
  24. plt.show()
  25. '''面向对象'''
  26. fig=plt.figure()
  27. ax=fig.add_subplot(111)
  28. l,=plt.plot(x,x)
  29. '''1.使用ax绘图例'''
  30. #ax.legend(['ax legend'])
  31. '''2.1使用set_label绘制图例
  32. 2.2 set后显示图例'''
  33. #l.set_label('label via method')
  34. #ax.legend()
  35. '''3.直接在plot里绘制图例'''
  36. l,=plt.plot(x,x**2,label='label via plot')
  37. ax.legend()
  38. plt.show()

                                             接下篇【Python数据可视化】Matplotlib学习笔记之pyplot(3)   <<<点此阅读

发布了11 篇原创文章 · 获赞 32 · 访问量 1万+


所属网站分类: 技术文章 > 博客

作者:进击的巨人

链接:https://www.pythonheidong.com/blog/article/233095/4679e48d3df06e71780b/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)