Отдельные графики на одном графике - PullRequest
0 голосов
/ 13 апреля 2020

Привет, ребята. Я новичок в python, и я хотел бы разделить графики, которые появляются на окончательном графике. У меня есть данные о больницах, и поэтому я хочу разделить, чтобы у меня был индивидуальный график больниц. У каждой больницы свой отдельный график. Вот мой рабочий код

# 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()

, если вы заметили, что в окончательном графике все больницы представлены в одном графике, но я хочу разделить их и разделить каждый график больниц, чтобы я мог добавить их на панель инструментов с помощью раскрывающегося списка. выбор больницы. Пожалуйста, помогите мне отделить этот вывод графика в том, что Ник Больница , чтобы иметь свой собственный график, и это то же самое, что Кри sh Больница

1 Ответ

0 голосов
/ 13 апреля 2020
import plotly.graph_objects as go
import pandas as pd

df = pd.DataFrame({'Name': ['Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital', 'Nick hospital',
                   'Krish hospital', 'Krish hospital', 'Krish hospital','Krish hospital', 'Krish hospital', 'Krish hospital'],
                   '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 hospital
fig1 = go.Figure()

for nar in nars:

    df_ply = df_nar[(df_nar['NAR_forms_used'] == nar) & (df_nar['Name'] == 'Nick hospital')]

    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 hospital
fig2 = go.Figure()

for nar in nars:

    df_ply = df_nar[(df_nar['NAR_forms_used'] == nar) & (df_nar['Name'] == 'Krish hospital')]

    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()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...