使用 'for' 循环为 df 中的每一列创建 Plotly 图

Create Plotly plot for each column in df with a 'for' loop

我想在 df 中使用 Python 中的 for 循环制作多个 Plotly 散点图(每列一个)。我还希望能够通过输入列名来显示图表。

查看示例代码:

import plotly.express as px
import pandas as pd

df = pd.DataFrame({'A': [3, 1, 2, 3],
                   'B': [5, 6, 7, 8],
                   'C': [2, 1, 6, 3]})
df

     A    B    C
0    3    5    2
1    1    6    1
2    2    7    6
3    3    8    3

我得到的最接近的是这个:

for i in df.columns:
i = px.scatter(df,
               x="A",
               y=i)

但这无法为每个地块分配一个值。我希望能够通过输入 A 来显示 A 列的图,通过输入 B 等来显示 B 的图。

您可以将绘图添加到字典中,例如

plots = {i: px.scatter(df, x="A", y=i) for i in df.columns}

相当于但比

plots = {}
for i in df.columns:
    plots[i] = px.scatter(df, x="A", y=i)

然后您可以用 plots['A']plots['B']plots['C']

显示每个图