不幸的是,它不起作用:我有一个名为df
的数据框
这由5列和100行组成。
我想在x轴列0(时间)上绘制相应的值,并在y轴上绘制相应的值。
我尝试过:
figure, ax1 = plt.subplots()
ax1.plot(df.columns[0],df.columns[1],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df.columns[0],df.columns[2],linewidth=0.5,zorder=1, label = "Force2")
但这不起作用。
我无法直接处理列名-我只能使用列号(例如1、2或3)。
感谢您的帮助!
赫尔穆特
答案 0 :(得分:0)
您可以使用.iloc[]
和列位置,也可以使用.columns
作为参数:
figure, ax1 = plt.subplots()
ax1.plot(df[df.columns[0]],df[df.columns[1]],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df[df.columns[0]],df[df.columns[2]],linewidth=0.5,zorder=1, label = "Force2")
或使用.iloc[]
:
figure, ax1 = plt.subplots()
ax1.plot(df.iloc[:,0],df.iloc[:,1],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df.iloc[:,0],df.iloc[:,2],linewidth=0.5,zorder=1, label = "Force2")
或者定义列名称列表,然后传递其索引(与第一种方法相同):
cols = df.columns
figure, ax1 = plt.subplots()
ax1.plot(df[cols[0]],df[cols[1]],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df[cols[0]],df[cols[2]],linewidth=0.5,zorder=1, label = "Force2")