【问题标题】:How to plot multiple lines in one plotly chart from same column from the same pandas dataframe?如何在同一个熊猫数据框的同一列的一个绘图图表中绘制多条线?
【发布时间】:2021-07-25 04:45:26
【问题描述】:

我有以下 df 作为熊猫:

Name        X           Y              Location number

Ford        651536.216  4767758.137    250
Ford        651485.4353 4767685.615    161.4
Chevrolet   651536.791  4767758.958    251
Chevrolet   651542.525  4767767.147    261
Golf        651579.0758 4767819.347    324.7
Golf        651543.8153 4767768.99     263.2
Toyota      651579.0758 4767819.347    324.7
Toyota      651590.676  4767835.914    344.9
Renault     651513.011  4767674.872    26.97
Renault     651511.373  4767676.018    24.5
...

我在名称列中有超过一百个制造商名称。我想使用折线图将所有制造商绘制在一个图中。

df_1 = df[df['Name'] == 'Ford']

df_2 = df[df['Name'] == 'Chevrolet']

df_3 = df[df['Name'] == 'Golf']

df_4 = df[df['Name'] == 'Toyota']

df_5 = df[df['Name'] == 'Renault']

我能够通过从 df 中单独指向制造商名称并将其保存到新的 df 来实现我想要的。

df_sorted1 = df_1.sort_values('Location number')
.
.
df_sorted6 = df_5.sort_values('Location number')

fig.add_trace(go.Scatter(x=df_1 ['x'], y=df_1 ['y'], mode='lines'))
fig.add_trace(go.Scatter(x=df_2 ['x'], y=df_2 ['y'], mode='lines'))
fig.add_trace(go.Scatter(x=df_3 ['x'], y=df_3 ['y'], mode='lines'))
fig.add_trace(go.Scatter(x=df_4 ['x'], y=df_4 ['y'], mode='lines'))
fig.add_trace(go.Scatter(x=df_5 ['x'], y=df_5 ['y'], mode='lines'))

我想要的是从一列中绘制每个制造商。 X, Y 是坐标,位置编号已排序,因为我想从第一个位置开始绘制到最新位置

【问题讨论】:

    标签: python pandas plotly


    【解决方案1】:

    试试这个代码

    df = df.sort_values(['Name', 'Location number'])
    
    import plotly_express as px
    
    px.line(df, x='X', y='Y', color='Name')
    

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 2021-01-26
      • 1970-01-01
      • 2020-03-02
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 2021-03-26
      相关资源
      最近更新 更多