我有几个熊猫数据帧。我想在单独的散点图中绘制多个列,并将它们组合为图形中的子图。我想给每个子批次贴上相应的标签。在使子批次标签正常工作之前,我遇到了很多麻烦,直到我发现有两种直接从数据帧绘制的方法;参见SO和pandasdoc:
ax0 = plt.scatter(df.column0, df.column5)
type(ax0): matplotlib.collections.PathCollection
以及
^{pr2}$ax.set_title('title')
对ax1
起作用,但对{AttributeError: 'PathCollection' object has no attribute 'set_title'
我不明白为什么这两种方式存在。第一个使用PathCollections的方法的目的是什么?第二个是在17.0中添加的;第一个是过时的还是有不同的用途?在
两者的区别在于它们来自不同的库。第一个来自matplotlib,第二个来自pandas。它们执行相同的操作,即创建matplotlib散点图,但是matplotlib版本返回一个点集合,而pandas版本返回matplotlib子批。这使得matplotlib版本更加通用,因为您可以在另一个绘图中使用点的集合。在
正如您所发现的,pandas函数返回一个axes对象。PathCollection对象也可以使用“获取当前轴”功能解释为轴对象。例如:
^{bq}$更标准的方法是:
^{pr2}$此时,欢迎您执行“set”命令,如您的
set_title
。在希望这有帮助。在
相关问题 更多 >
编程相关推荐