Ошибка повышения значения при реализации вложенного графика в боке - PullRequest
0 голосов
/ 01 июня 2018

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

def visualEmergence():
    output_file("EmergencyOverview")
    jobemergence=['Access Cards/ FOBs/ Keys','Plumbing','QR Demo Request Type','Demo Request Type','Other','ThisRequestType1']
    jobstatus=['Open','In Progress','Completed']
    graphdata={ 'jobemergence':jobemergence,
                'Open':[4,3,0,4,0,1],
                'In Progress':[2,1,2,4,0,0],
                'Completed':[1,1,1,1,1,0]}

    x=[(jobemergence,jobstatus)for job in jobemergence for stat in jobstatus]
    stackvalue=sum(zip(graphdata['Open'],graphdata['In Progress'],graphdata['Completed']),())
    source=ColumnDataSource(data=dict(x=x,count=stackvalue))
    plot=figure(x_range=FactorRange(*x),plot_height=250,title='Emergency Request Overview')
    plot.vbar(x='x',top='stackvalue',width=0.9,source=source,line_color="white",fill_color=factor_cmap('x',palette=Spectral6,factors=jobstatus,start=1,end=2))
    plot.y_range.start=0
    plot.x_range.range_padding=0.1
    plot.xaxis.major_label_orientation=1
    plot.xaxis.grid_line_color=None
    show(plot)

, но я получаю ошибку после этого линейного графика = figure (x_range = FactorRange (* x), plot_height = 250, title = 'Emergency Request Overview' Ошибка:

повышение ValueError ("ожидал элемент либо% s, получил% r"% (nice_join (self.type_params), значение)) ValueError: ожидал элемент либо Seq (String), Seq (Tuple)(String, String)) или Seq (Tuple (String, String, String)), полученный [(['Карты доступа / FOBs / Keys', 'Сантехника', 'Тип запроса демонстрации QR', 'Тип запроса демонстрации', 'Другое ',' ThisRequestType1 '] ...

возможно, мне не хватает чего-то очень глупого. Пожалуйста, помогите мне разобраться. Я следил за последней документацией bokeh для этого Спасибо

1 Ответ

0 голосов
/ 01 июня 2018

Исключение точно объясняет, в чем проблема.Коэффициенты должны быть следующими:

  • Seq (String)

    Список строк: ['foo', 'bar', ...] для базовых гистограмм со спискомкатегории, например, "отделы"

  • Seq (Tuple (String, String))

    Список из двух кортежей строк: [('A', 'foo'), ('A', 'bar'), ...] для гистограммы с вложенными категориями, например, «отделы внутри подразделений»

  • Seq (Tuple (String, String, String))

    Список из трех наборов строк: [('West', 'A', 'foo'), ('West', 'B', 'bar'), ...] для гистограмм с категориями, вложенными в два уровня, например, «отделы внутри подразделений внутри регионов»

Но ваше значение x, которое вы передаетена FactorRange не похоже ни на одну из этих вещей.Вот только первая пара элементов в вашем x списке

[(['Access Cards/ FOBs/ Keys',
   'Plumbing',
   'QR Demo Request Type',
   'Demo Request Type',
   'Other',
   'ThisRequestType1'],
  ['Open', 'In Progress', 'Completed']),
 (['Access Cards/ FOBs/ Keys',
   'Plumbing',
   'QR Demo Request Type',
   'Demo Request Type',
   'Other',
   'ThisRequestType1'],
  ['Open', 'In Progress', 'Completed']), ...]

Так что это список кортежей, но элементы в кортежах - это дополнительные списки, а не строки, как они должны быть в порядкебыть действительными факторами.

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

...