Python 用次轴绘制2条线,但不显示第一列数据

Python 用次轴绘制2条线,但不显示第一列数据,python,pandas,matplotlib,Python,Pandas,Matplotlib,我试图创建一个绘图,显示两列数据“Area”和“Vol”如何对应于第一列“Elev”。在Excel中,数据和结果图表如下所示: 下面是我如何使用Pandas数据帧来实现这一点: import pandas as pd e = [0.0, 1.0, 2.0, 3.0, 4.0] a = [0.0, 300.0, 375.0, 400.0, 415.0] v = [0.0, 150.0, 487.5, 875.0, 1282.5] geometry = pd.DataFrame(list(zi

我试图创建一个绘图,显示两列数据“Area”和“Vol”如何对应于第一列“Elev”。在Excel中,数据和结果图表如下所示:

下面是我如何使用Pandas数据帧来实现这一点:

import pandas as pd

e = [0.0, 1.0, 2.0, 3.0, 4.0]
a = [0.0, 300.0, 375.0, 400.0, 415.0]
v = [0.0, 150.0, 487.5, 875.0, 1282.5]

geometry = pd.DataFrame(list(zip(e, a, v, )), columns=['Elev', 'Area', 'Vol'])
ax = geometry.plot(secondary_y=['Vol'])
ax.set_ylabel('Area')
ax.right_ax.set_ylabel('Vol')
当我执行上述代码时,我得到以下结果:

我不想显示Elev线,因为这是在x轴上表示的自变量。如何在不显示Elev线的情况下显示此绘图

在我尝试修复此问题时,我找到了以下解决方案:

ax.lines[0].remove()

但这似乎只是从图例中删除行,而不是项目。有更好的解决方案吗?

我想这就是您想要的:

from matplotlib import style
style.use('ggplot')
%matplotlib inline

e = [0.0, 1.0, 2.0, 3.0, 4.0]
a = [0.0, 300.0, 375.0, 400.0, 415.0]
v = [0.0, 150.0, 487.5, 875.0, 1282.5]

geometry = pd.DataFrame(list(zip(e, a, v, )), columns=['Elev', 'Area', 'Vol'])
# only plot area and vol
ax = geometry[['Area', 'Vol']].plot(secondary_y=['Vol'])
ax.set_ylabel('Area')
ax.right_ax.set_ylabel('Vol')
# set xticks to elev
ax.set_xticks(geometry['Elev'])

是的,这就是我需要的。非常感谢。