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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。