首页 > 解决方案 > 使用 for 循环绘制数据框列

问题描述

我在数据框中有以下数据。我写了一个 for 循环,所以每列都会根据 BOND、ANGEL 和 DIHED 绘制。

我的数据框

我运行这段代码

col=["TS","BOND","ANGEL","DIHED"]
df1=DataFrame(Energy, column=col)
df1=df1.astype(float)

for i in col:
    print(x)
    df1.plot(x="i", y="TS",)
    plt.show()

但我得到 KeyError:'i'。

我怎样才能设法在我的 DataFrame 上运行一个循环,所以最后我可以在 Y 轴上每个 TS 绘制 4 个图,在 x 轴上分别绘制其他 3 列?

bdw 我只能绘制 TS 但如果我添加 x 轴会导致问题。

标签: pythonmatplotlib

解决方案


我尝试了一个现在可以完美运行的代码。

for i in col[1:]:
    print(i)
    plt.figure()
    plt.plot(df1["TS"],df1[i])
    plt.show()

使用此代码,可以循环遍历 DataFrame 并为每一列返回一个单独的图。df1["TS"] 在这种情况下将是 x 轴并且是固定的,而 df1[i] 是可变的 y 轴。


推荐阅读