我试图更好地理解将Matplotlib和Pandas结合用于绘图时,图形,坐标轴和plt都如何组合在一起。此处接受的答案帮助我通过这条线以一种面向对象的方式将Matplotlib和Pandas连接起来:
fig, ax = plt.suplots()
df.plot(ax=ax)
但是随着我的深入研究,这里的答案让我失望了。具体来说,我仍然需要直接调用plt的方法,这些方法不适用于图形或轴。例子:
fig, ax = plt.subplots()
df[['realgdp','trend']]["2000-03-31":].plot(figsize=(8,8), ax=ax)
ax.set_title('Real GDP & Trend')
ax.set_ylabel('Readl GDP')
plt.xticks(rotation=45)
如果我尝试从斧头或无花果上调用xticks(rotation = 45),我将得到一个错误,即斧头和无花果都没有xticks方法。我上面有解决方案,但我不明白为什么。
当我输入时plt.xticks(rotations=45)
,该信息将发送到哪里?为什么在此答案中的注释“在使用模块pyplot上要绘制的'当前图形'和'当前轴'时使用”的注释在这种情况下不适用?为什么我需要直接取消plt?
plt.xticks()
仅适用于“当前”斧头。您应该使用ax.set_xticks()
,ax.set_xticklabels()
而ax.tick_params()
不是。
plt.xticks()
是一个相当老的功能,至今仍受支持,它模仿了类似的Matlab代码,这种代码是在人们只绘制一个图的时候诞生的。较新的功能更加通用,具有更多选项。
简而言之:您不需要plt
直接调用,而是被邀请使用这些ax
函数。调用时plt.xticks()
,它将重新路由到当前活动的ax
(通常是最后一个创建的)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句