Барный график из словаря с ключами кортежа - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть словарь с кортежем в качестве ключей, как показано ниже:

{('Friday', 0): 108, ('Friday', 1): 110, ('Friday', 2): 75, ... ('Sunday', 23): 120}

Я пытаюсь построить гистограмму с клавишами словаря по оси x и значениями словаря по оси Y:

trace0 = go.Bar(
    x=pump_dry_day_beh_dic.keys(),
    y=pump_dry_day_beh_dic.values(),
    name ='yyy'

)

fig = tools.make_subplots(rows=1, cols=1, specs=[[{}]],
                          shared_xaxes=True, shared_yaxes=True,
                          vertical_spacing=0.001)

fig.append_trace(trace0, 1, 1)
fig.append_trace(trace1, 1, 1)

fig['layout'].update(height=600, width=1000,  title='xxx')
fig['layout']['xaxis1'].update(title='day-hour')
fig['layout']['yaxis1'].update(title='Values')
plotly.offline.iplot(fig, filename=' xxx')

Но я получаю следующую ошибку:

 The 'x' property is an array that may be specified as a tuple,
    list, numpy array, or pandas Series

С другой стороны, если я заменю приведенный выше код на приведенный ниже код, в результате я получу пустой график.

   x=list(pump_dry_day_beh_dic.keys()),
    y=list(pump_dry_day_beh_dic.values()),
    name ='yyyy'

Есть ли способ, как я могу решить это?

Спасибо,

1 Ответ

0 голосов
/ 09 ноября 2018

Так как у вас есть pandas тег здесь ...

import pandas as pd

pump_dry_day_beh_dic = {('Friday', 0): 108, ('Friday', 1): 110, 
                        ('Friday', 2): 75, ('Sunday', 23): 120}
pd.DataFrame([pump_dry_day_beh_dic]).T.plot.bar()

enter image description here

...