簡體   English   中英

用 plotly 創建地毯 plot

[英]create a carpet plot with plotly

我正在尋找 plot 和 dataframe 的解決方案,其中 datetimeindex 作為“地毯圖”。 我更喜歡 plotly,但我也會使用其他庫。 也許“地毯情節”不是 plot 的正確名稱?!

我希望索引為 xaxis label 並且每一列都有一個“桶”。 也許堆疊區域 plot 是一種解決方案。 我無法弄清楚。

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(7), freq='D')

np.random.seed(seed=1111)
data = [1,1,1,0,1,1,0,1]
data1 = [1,1,1,0,0,1,0,1]
data2 = [1,0,1,0,1,1,0,1]
df = pd.DataFrame({'test': days, 'col1': data, 'col2': data1, 'col3': data2})
df = df.set_index('test')

例如: 在此處輸入圖像描述

您可以簡單地使用來自plotlyplotly

# using your data sample:

fig = px.imshow(df)
fig.show()

這給了你:

在此處輸入圖像描述

再加一點樣式:

fig = px.imshow(df, width=300, height=500,
                labels=dict(x="Columns", y="Days"),
                x=df.columns,
                y=df.index,
               )
fig.show()

你可以得到:

在此處輸入圖像描述

或者水平布局,沒有色軸和另一個色階( Viridis ),如果你更喜歡他的話。 有關詳細信息,請參閱 API 參考

fig = px.imshow(df.T, width=500, height=300,
                labels=dict(x="Columns", y="Days"),
                x=df.T.columns,
                y=df.T.index,
                color_continuous_scale = 'Viridis',
               )
fig.update_layout(coloraxis_showscale=False)
fig.show()

在此處輸入圖像描述

暫無
暫無

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

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