Pandas 从matplotlib.axes获取线和标签

Pandas 从matplotlib.axes获取线和标签,pandas,matplotlib,Pandas,Matplotlib,我需要得到绘制数据帧时生成的线 在下面的代码中,我们尝试了两种方法,每种方法都有一个问题 import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2) #ax1.plot(df) #no labels #ax1 = df.plot()

我需要得到绘制数据帧时生成的线

在下面的代码中,我们尝试了两种方法,每种方法都有一个问题

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2)
#ax1.plot(df)      #no labels
#ax1 = df.plot()   #new figure 
plt.show()

lines = ax1.get_lines()
labels = [str(line.get_label()) for line in lines]
我打算获得要在上使用的线条和标签


我的真实df是多索引的,但我希望这不会干扰问题,请告诉我是否需要更精确地说明这一点。

我以您引用的官方参考为例,清楚地说明了如何以数据帧格式获取数据。您可以使用
iterrows()
逐个获取数据帧的行。请参阅“”

试试这个:-

df.plot(ax=ax1) 
代替创建新绘图的
ax1=df.plot()

选项
ax=ax1
声明轴
ax1
用于绘图。

谢谢,我想我不太清楚我的疑问,或者我理解词汇表有问题。不需要从dataframe获取数据,只需要从line对象获取数据。由于df的列数可变,因此l0、l1、l2=。。。有些东西对我不起作用。
df.plot(ax=ax1)