python中的matplotlib.pyplot,matplotlib库python

  python中的matplotlib.pyplot,matplotlib库python

  Matplotlib是一个用于数据可视化的Python模块。Matplotlib和Pandas可以作为互补工具,因为前者内置了大量的图表库,进一步提高了数据的可视性。虽然本教程不能完整介绍Matplotlib的每一个细节,但我们还是可以尝试涵盖Matplotlib的各种基本功能,包括几个有趣的高级项目。看这个教程需要一定的Python和熊猫基础。如果之前对Python一无所知,可以看看我们之前的相关教程:【Python核心库】Numpy live教程及练习。

  【Python教程】用熊猫组织数据

  基础线图

  只需要一行代码就可以创建最简单的折线图,然后通过plt.show()显示该图:

  将matplotlib.pyplot作为plt导入

  #绘图

  plt.plot([1,2,3,4,10])

  plt.show()

  基本散点图

  在绘制散点图之前,我们先来看看plt.plot()的参数内容:(x,y,format)。这种格式实际上是颜色、标记和线条的缩写。例如:

  Go-是绿色、圆点和无线条,因此输出图是散点图。

  R *-是红色、星形和虚线。

  Ks。是黑色的,方形的,带点的。

  BD。是蓝色、菱形和点划线。

  这些例子不需要死记硬背,需要的时候输入并运行help(plt.plot)即可。

  # go 表示绿点

  plt.plot([1,2,3,4,5],[1,2,3,4,10], go )

  plt.show()

  复合图形

  强大的Matplotlib自然不会满足于单个图形。下一段将分为两个部分:在同一图形中绘制多个数据和在同一窗口中绘制多个不同的图形。

  在同一图表中绘制多个数据

  其实这个很简单,反复写plt.plot()就行了。添加标题、标签名称和图例以输出以下效果:

  plt.plot([1,2,3,4,5],[1,2,3,4,10], go ,label=GreenDots )

  plt.plot([1,2,3,4,5],[2,3,4,5,11], b* ,label=Bluestars )

  plt.title(“简单散点图”)

  plt.xlabel(X )

  plt.ylabel(Y )

  Plt.legend(loc=best) #图例文本取自标签,图例是集中在图表一侧的指示器描述。

  plt.show()

  画几个不同的图表。

  我们在Matplotlib中绘制图表时,实际上是将各种元素添加到一个类似画布的图形中,其中的子图形称为axes(与XY轴不一样)。一般来说,一个图表至少有一个子图。当我们有多个子图表时,这些图表按行和列排序。

  如果我们想在同一个画布上绘制多个子图,我们应该使用的函数是plt.subplots(1,2)。其中数字1和2分别代表子图代码,需要将原来的plt.plot()分别改为ax1.plot()和ax2.plot()。

  #创建画布和精灵

  fig,(ax1,ax2)=plt.subplots(1,2,figsize=(10,4),sharey=True,dpi=120)

  #画一张图表

  ax1.plot([1,2,3,4,5],[1,2,3,4,10], go) # greendots

  ax2.plot([1,2,3,4,5],[2,3,4,5,11], b*) # bluestar

  #设置标签和上限

  ax1.set_title(散点图绿点);ax2.set_title(散点图蓝星)

  ax1 . set _ xlabel( X );Ax.set _ xlabel (x) # x标签

  ax1 . set _ Y label( Y );2.AX _ YLABEL (Y) # Y标签

  ax1.set_xlim(0,6);2.AX _ XLIM (0,6) # X轴上限

  ax1.set_ylim(0,12);2.AX _ YLIM (0,12) # Y轴上限

  # ax2 . ya xis . set _ ticks _ position( none )

  plt.tight_layout()

  plt.show()

  在plt.subplots()中设置sharey=True可以使两个subplots在Y轴上平行,而dpi可以调整图标的清晰度。

  高级图形

  Matplotlib的图库远比点点图丰富。更多的图表和图形是不在话下。我们甚至可以调整各种参数来修改图表大小和背景颜色等。由于篇幅所限,这里只发布了几幅高级图形的参考图。有需要的可以通过代码门户在线查看Python代码,也可以参考Matplotlib的官方文档。

  绘制多个图表

  这组图表是使用randint随机数和for循环numpy模块实现的:

  打开fourPlots.py项目查看代码:https://55911a1851-share.lightly.teamcode.com

  画一张图表(正弦和余弦波)

  打开sincosWave.py项目查看代码:https://55911a1851-share.lightly.teamcode.com

  调整背景颜色

  Matplotlib自己的风格代码:

  PLT . style . available #[ seaborn-dark , seaborn-darkgrid , seaborn-ticks , fivethirtyeight ,

  # seaborn-whitegrid , classic , _classic_test , fast , seaborn-talk ,

  # 海峰-暗色调色板,海峰-亮色,海峰-淡色,灰度,

  # seaborn-notebook , ggplot , seaborn-colorblind , seaborn-muted ,

  # seaborn , Solarize_Light2 , seaborn-paper , bmh , tableau-colorblind10 ,

  # seaborn-white , dark_background , seaborn-poster , seaborn-deep]

  打开plotBackground.py项目查看代码:https://55911a1851-share.lightly.teamcode.com

  添加评论

  Plt.text和plt.annotate可以分别向图表添加文本和注释。如果要添加多个注释,也可以多次循环plt.text()函数。

  打开plotAnnotate.py项目查看代码:https://55911a1851-share.lightly.teamcode.com

  调整子图的大小。

  我们可以通过Matplotlib自带的两个函数,即plt.subplot2grid和plt来绘制多子图的布局。GridSpec

  我们甚至可以在主图中添加子图:

  打开subplotSize.py和plotinPlot.py项目查看代码:https://55911a1851-share.lightly.teamcode.com。

  泡沫图、直方图、箱线图和时间序列

  我们可以通过plt.scatter()函数动态改变某一点的颜色和大小,形成气泡图的效果,甚至可以关联熊猫数据。

  此外,我们还可以通过plt.step()、plt.hist()、plt.boxplot()和plt.bar()绘制不同的图表效果:

  打开bubblePlot.py和sortedPlot.py项目查看代码:https://55911a1851-share.lightly.teamcode.com。

  本文介绍的图形应用场景各不相同,大家可以根据自己的需求去尝试。如果您对TeamCode的其他文章感兴趣,请查看:

  如何看待Python(PyScript)作为浏览器前端开发语言?

  用蟒蛇龟制作蛇游戏

  学习Python爬虫,通过Python入门抓取web信息。

  转载请联系作者获得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: