簡體   English   中英

Plotly 僅在 Jupyter 中顯示 1 個子組的動畫條形圖

[英]Plotly Animated Bar Graph Showing 1 subgroup only in Jupyter

問題:當我運行我的代碼時,只顯示一個狀態(子組)。 數據集很簡單,創建日期、狀態和計數。 我只能認為此時我的數據集可能有問題。 為什么它只顯示我擁有的三個狀態中的一個狀態,或者它可能更適合托管文件? 它似乎只是遍歷列表,直到最后才保持每個數據點完好無損。 另一個代碼塊在 github 上運行良好。

我的數據集示例:

Status,Create Date,Count
None,17-Apr-12,8
None,30-Apr-12,9
None,23-Aug-12,10
None,3-Oct-12,11
None,9-Jan-13,12
None,29-Jan-13,13
QBOS,31-Jan-13,1
QBDS,1-Feb-13,1

我的代碼:

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

df = pd.read_csv('qb7.csv')
df.columns = ['Status','Create Date','Count']
includes=['None','QBDS', 'QBOS']
df=df[df['Status'].isin(includes)]
df['Create Date']= pd.to_datetime(df['Create Date']).dt.strftime('%Y-%m-%d')
fig = px.bar(df,
         x="Status", 
         y="Count",
         color="Status",
         animation_frame="Create Date", hover_name="Status", 
         range_y=[0,8000])
fig.show()

``在此處輸入圖像描述

我想制作的示例:

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

df = pd.read_csv('https://raw.githubusercontent.com/shinokada/covid-19-stats/master/data/daily-new- 
confirmed-cases-of-covid-19-tests-per-case.csv')
df.columns = ['Country','Code','Date','Confirmed','Days since confirmed']
includes=['United States','Russia', 'India','Brazil']
df=df[df['Country'].isin(includes)]
df['Date']= pd.to_datetime(df['Date']).dt.strftime('%Y-%m-%d')
fig = px.bar(df, x="Country", y="Confirmed", color="Country",
animation_frame="Date", animation_group="Country", range_y=[0,35000])
fig.show()`

在此處輸入圖像描述

我認為它沒有顯示預期圖表的原因是因為數據數量不同。 當數據數量對齊時,可以達到預期的結果。

import pandas as pd
import numpy as np
import io

data = '''
Status,Create Date,Count
None,17-Apr-12,8
None,30-Apr-12,9
None,23-Aug-12,10
None,3-Oct-12,11
None,9-Jan-13,12
None,29-Jan-13,13
QBOS,17-Apr-12,8
QBOS,30-Apr-12,9
QBOS,23-Aug-12,10
QBOS,3-Oct-12,11
QBOS,9-Jan-13,12
QBOS,29-Jan-13,13
QBDS,17-Apr-12,8
QBDS,30-Apr-12,9
QBDS,23-Aug-12,10
QBDS,3-Oct-12,11
QBDS,9-Jan-13,12
QBDS,29-Jan-13,13
'''

df = pd.read_csv(io.StringIO(data), sep=',')

import plotly.graph_objects as go
import plotly.express as px

# df = pd.read_csv('qb7.csv')
df.columns = ['Status','Create Date','Count']
includes=['None','QBDS', 'QBOS']
df=df[df['Status'].isin(includes)]
df['Create Date']= pd.to_datetime(df['Create Date']).dt.strftime('%Y-%m-%d')

fig = px.bar(df,
         x="Status", 
         y="Count",
         color="Status",
         animation_frame="Create Date", hover_name="Status", 
         range_y=[0,30])

fig.show()

在此處輸入圖像描述

暫無
暫無

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

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