簡體   English   中英

Plotly:如何使用散點氣泡圖為下圖准備數據可視化?

[英]Plotly: How to prepare data visualization for below image using scatter bubble chart?

這是我清理 csv 文件后的數據集

在此處輸入圖像描述

這是我想要的 output

在此處輸入圖像描述

我想要的是,我必須在 x 軸上顯示年份,在 y 軸上顯示列值。我想顯示具有不同 colors 和大小的氣泡,並帶有播放 animation 按鈕

我是數據科學的新手,有人可以幫助我嗎,我怎樣才能做到這一點?

從您的數據集和附加圖像來看,您要求的是這樣的:

在此處輸入圖像描述

但我不確定那是你真正想要的。 您會看到,對於您的特定數據集,沒有足夠的維度來證明 animation 的合理性。 甚至是氣泡 plot。 這是因為您只查看一個值。 因此,您最終會通過氣泡大小和 y 軸顯示相同的值。 鑒於您提供的屏幕截圖實際上是您想要的 plot,因此實際上無需更改您的數據集。 但是,如果您願意,我們可以討論更多。

由於您尚未提供示例數據集,因此我使用了可通過 plotly express 獲得的數據集,並對其進行了重新調整以匹配您的數據集:

在此處輸入圖像描述

完整代碼:

# imports
import plotly.graph_objects as go
import plotly.express as px
import pandas as pd
import math
import numpy as np

# color cycle
colors = px.colors.qualitative.Alphabet*10

# sample data with similar structure as OP
df = px.data.gapminder().query("continent=='Americas'")
dfp=df.pivot(index='year', columns='country', values='pop')
dfp=dfp[['United States', 'Mexico', 'Argentina', 'Brazil', 'Colombia']]
dfp=dfp.sort_values(by='United States', ascending = False)
dfp=dfp.T
dfp.columns = [str(yr) for yr in dfp.columns]
dfp = dfp[dfp.columns[::-1]].T

# build figure and add traces
fig=go.Figure()
for col, country in enumerate(dfp):
    vals = dfp[country].values
    yVals = [col]*len(vals)
    fig.add_traces(go.Scatter(

        y=yVals,
        x=dfp.index,
        mode='markers',
        marker=dict(color=colors[col],
            size=vals,
            sizemode='area',
            #sizeref=2.*max(vals)/(40.**2),
            sizeref=2.*max(dfp.max())/(40.**2),
            sizemin=4),
        name = country
    ))

# edit y tick layout
tickVals = np.arange(0, len(df.columns))
fig.update_layout(
    yaxis = dict(tickmode = 'array',
                 tickvals = tickVals,
                 ticktext = dfp.columns.tolist()))


fig.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM