绘制数据框中的所有列,而无需在 Plotly 中定义它们

Plot all columns from dataframe without having to define them in Plotly

我想在 Plotly 中绘制数据框中的所有列而无需定义它们。

Plotly 中所需的功能与 matplotlib 中的功能相同。

import glob
import pandas as pd

df = pd.DataFrame({
    'A': ['15','21','30'],
    'M': ['12','24','31'],
    'I': ['28','32','10']})


%matplotlib inline
from matplotlib import pyplot as plt

df=df.astype(float)
df.plot()

这是我的 Plotly 代码,但正如我所说,我不知道如何自动绘制所有列。我注意到的一次也是,在 Plotly 中需要定义 X 轴,但是有了这个限制我就可以活了。

import plotly.express as px 
import pandas as pd 
import numpy as np 
import os

# data

df = pd.DataFrame({
    'ID': ['1','2','3'],
    'A': ['15','21','30'],
    'M': ['12','24','31'],
    'I': ['28','32','10']})

df_long=pd.melt(df , id_vars=['ID'], value_vars=['A', 'M' , 'I'])

fig = px.line(df_long, x='ID', y='value', color='variable')
fig.show()

如何定义如何在 Plotly 中自动绘制所有列?

好的,我找到了解决问题的方法:

df_long=pd.melt(df , id_vars=['ID'])

而不是:

df_long=pd.melt(df , id_vars=['ID'], value_vars=['A', 'M' , 'I'])

要逆透视的列。如果未指定,则使用所有未设置为 id_vars.

的列