您提供的链接是一个很好的资源,但显示了整个过程matplotlib.pyplot
和用途.subplots()
到达轴。虽然我之前已经这样做过,但我一直在寻找仅使用内置 pandas 的方法.plot()
尽可能发挥作用。对我来说,它可以简化代码并更轻松地利用 DataFrame 的优点。
似乎确实有很多事情并不容易完全在参数范围内完成df.plot()
不过,就其本身而言。幸运的是它返回一个matplotlib.AxesSubplot
,这开辟了更大范围的可能性。
我将上面的数据复制到 DataFrame 中:
df = pd.read_clipboard(quotechar="'")
它看起来有点像:
A B C
0 1 2 'name 1'
1 2 3 'name 2'
2 3 5 'name 3'
但是,当然,在非表格残缺的 html 中要好得多。 (也许有一天SO会解决这个问题)。
然后我所要做的就是:
ax = df.A.plot(xticks=df.index, rot=90)
ax.set_xticklabels(df.C)
如果您使用 IPython/Jupyter 并且%matplotlib inline
那么这两个都需要在同一个单元格中。一开始我忘记了这一点,并花了相当多的时间试图找出问题所在。
您可以使用以下命令完成这一切ax
多变的:
ax = df.A.plot()
ax.set_xticks(df.index)
ax.set_xticklabels(df.C, rotation=90)
但是,正如我提到的,我还没有找到一种方法xticklabels
在 - 的里面df.plot()
函数参数,这使得可以在一行中完成这一切。
在此示例中,旋转 xtick 标签的额外步骤可能是无关紧要的,但在我寻找此答案时正在处理的示例中却派上了用场。
当然,您可以更轻松地将 A 列和 B 列绘制在一起:
ax = df.plot()
ax.set_xticks(df.index)
ax.set_xticklabels(df.C, rotation=90)