Plotly:在一张图中出现单独的图

我想分开出现在最终图表上的图。我有医院的数据,这就是为什么我想分开以便我有单独的医院图表。每个医院都有自己独立的图表。这是我的工作代码


# imports

import plotly.graph_objects as go

from plotly.offline import iplot

import pandas as pd

import numpy as np


# intialise data of lists. 

data = {'Name':['Nick hospital', 'Nick hospital','Nick hospital', 'Krish hospital', 'Krish hospital','Krish hospital'], 

        'NAR_forms_used':[2, 1,2, 2, 2,3]

       } 


# Create DataFrame 

df = pd.DataFrame(data)


# get counts per NAR type

df_nar=pd.DataFrame(df.groupby('Name')['NAR_forms_used'].value_counts())

df_nar=df_nar.rename({'NAR_forms_used': 'NAR count'}, axis='columns')

df_nar=df_nar.reset_index()


# Manage NAR types (who knows, there may be more types with time?)

nars = df_nar['NAR_forms_used'].unique()

nars = nars.tolist()

nars.sort(reverse=False)


# set up plotly figure

fig = go.Figure()


# add one trace per NAR type and show counts per hospital

for nar in nars:


    # subset dataframe by NAR type

    df_ply=df_nar[df_nar['NAR_forms_used']==nar]


    # add trace

    fig.add_trace(go.Bar(x=df_ply['Name'], y=df_ply['NAR count'], name='NAR Type='+str(nar)))


# make the figure a bit more presentable


fig.update_layout(title='NAR per hospital',

                  yaxis=dict(title='<i>count of NAR types</i>'),

                  xaxis=dict(title='<i>Hospital</i>',

                            )

                 )



fig.show()

如果您注意到最终图表将所有医院都放在一个图表中,但我想将它们分开并将每个医院图表分开,以便我可以使用医院的下拉选择添加到仪表板上。请帮助我在尼克医院中分离这个图表输出以拥有自己的图表,这与Krish 医院相同


森林海
浏览 127回答 1
1回答

慕哥9229398

import plotly.graph_objects as goimport pandas as pddf = pd.DataFrame({'Name': ['Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'Krish hospital', 'Krish hospital', 'Krish hospital','Krish hospital', 'Krish hospital', 'Krish hospital'],&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'NAR_forms_used': [2, 1, 3, 1, 1, 2, 1, 2, 3, 3, 3, 1]})df_nar = pd.DataFrame(df.groupby('Name')['NAR_forms_used'].value_counts())df_nar = df_nar.rename({'NAR_forms_used': 'NAR count'}, axis='columns')df_nar = df_nar.reset_index()nars = df_nar['NAR_forms_used'].unique()nars = nars.tolist()nars.sort(reverse=False)# Nick hospitalfig1 = go.Figure()for nar in nars:&nbsp; &nbsp; df_ply = df_nar[(df_nar['NAR_forms_used'] == nar) & (df_nar['Name'] == 'Nick hospital')]&nbsp; &nbsp; fig1.add_trace(go.Bar(y=df_ply['NAR count'], x=['NAR Type=' + str(nar)]))fig1.update_layout(title='Nick hospital', showlegend=False, yaxis=dict(title='<i>count of NAR types</i>'))fig1.show()# Krish hospitalfig2 = go.Figure()for nar in nars:&nbsp; &nbsp; df_ply = df_nar[(df_nar['NAR_forms_used'] == nar) & (df_nar['Name'] == 'Krish hospital')]&nbsp; &nbsp; fig2.add_trace(go.Bar(y=df_ply['NAR count'], x=['NAR Type=' + str(nar)]))fig2.update_layout(title='Krish hospital', showlegend=False, yaxis=dict(title='<i>count of NAR types</i>'))fig2.show()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python