包含多个连通图的散景“来源”

时间:2016-10-31 16:13:50

标签: bokeh

我假设Dataframes和ColumnDataSource无法做到这一点,但对任何想法感兴趣:

对于图之间的LinkedBrush数据,我想使用“source”,例如:

p1.rect(x="X1", width="W",y=1, height="Val1" source = SourcesfromDF )
p1.rect(x="X1", width="W",y=2, height="Val2" source = SourcesfromDF )
p1.rect(x="X1", width="W",y=3, height="Val3" source = SourcesfromDF )
...
p1.rect(x1="X1", width="W",y=1000 height="Val1000" source = SourcesfromDF )

df中的每一行都需要有一个值才能工作,例如:

X1  W   Val1   Val2  ... Val1000
12 13    41     52  ...   2100

但我的数据实际上是结构

X1  W   Val1   Val2 ... Val1000
12 13           52  ...   2100
10 11    41         ...    210
 2 14    91     62  ...   
92 13            2  ...   

(无法绘制)

源自字典列表 - 带字典:

[{'x1':12 , 'x2':13, 'values':{'val2':52 ,'val31':310, 'val1000':2100}}, ...]

我基本上将其转换为非嵌套字典

[{'x1':12 , 'x1':13, 'val2':52 ,'val31':310, 'val1000':2100}
...]

创建上述数据结构,其中包含许多未定义的值。

为了对每个'val'绘制X1 W,我创建了单独的图 来自提取的子集:

ValSubset=MyBigDF.loc[MyBigDF[ValX] > 0 ]    
# looking to do this as generically so my 'vals' may be strings etc,
# so the expression should be something like != NaN
  • a)一个很好的解决方案是在一次调用的单个图中,针对每个val1到valN重复绘制所有X1-W值,而不是来自单个“源”的NaN。

  • b)我的第二个最佳解决方案是在NaN上放置一个完整的源,我可以在多个图上使用它,允许突出显示来自常见“源”的选定字形。 (也就是说,我怎样才能得到'源'的一个子集忽略了我想要绘制的'vals'的NaN)(我读到Bokeh可能支持NaN,但是对于相同值的多个绘图没有任何读法 - 但是可以查看同一轴上多个绘图的解决方法)

  • c)a)和b)都需要一个具有许多NaN字段的大型数据帧/ ColumnDataSource,并且对于每个新的“Val_”,每行需要另一个NaN。理想的情况是根据“Vals”

  • 的词典(或列表)进行绘图

0 个答案:

没有答案