python-3.x 在散景中实现嵌套图表时出现获取raise值错误

1bqhqjot  于 2022-11-19  发布在  Python
关注(0)|答案(1)|浏览(141)

我是一个新的使用散景。我试图实现嵌套条形图在散景测试的目的。这是我的代码

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)

但我在此行之后收到错误
plot=图(x_range=因子范围(*x),plot_height=250,title ='紧急请求概述'
错误为

raise ValueError("expected an element of either %s, got %r" % (nice_join(self.type_params), value))
ValueError: expected an element of either Seq(String), Seq(Tuple(String, String)) or Seq(Tuple(String, String, String)), got [(['Access Cards/ FOBs/ Keys', 'Plumbing', 'QR Demo Request Type', 'Demo Request Type', 'Other', 'ThisRequestType1'] ...

也许我错过了一些非常愚蠢的东西。请帮助我弄清楚。我已经按照散景的最新文档为这个谢谢

jljoyd4f

jljoyd4f1#

例外状况会正确说明问题所在。因素必须是:

    • 顺序(字符串)*

字符串列表:['foo', 'bar', ...]用于包含类别列表的基本条形图,例如“部门”

  • Seq(元组(字符串,字符串))

字符串的2元组列表:[('A', 'foo'), ('A', 'bar'), ...]表示具有嵌套类别的条形图,例如“部门中的部门”

  • Seq(元组(字符串,字符串,字符串))

字符串的3元组列表:[('West', 'A', 'foo'), ('West', 'B', 'bar'), ...]用于类别嵌套两个级别的条形图,例如“departments within division within regions”
但是,传递给FactorRangex值看起来并不像上述任何一项。

[(['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']), ...]

这是一个元组列表,但是元组中的项是更进一步的列表,而不是字符串,因为它们必须是有效的因子。
我不太清楚你到底想完成什么,所以我不能给出任何替代方案,但希望能够明确地比较你所拥有的和哪些类型的值是有效的,这将为你指明方向。

相关问题