[英]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')
您可以簡單地使用來自plotly的plotly
:
# 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.