我一直在玩bokeh,以获得交互式散点图,工具提示和交互式图例等。
目前,我可以使用情节后面的pandas数据框中的一列值来设置点的颜色。但是我想知道是否可以使用数据框中的另一列来设置标记类型(菱形,圆形,正方形等)?
我很欣赏,这意味着您需要一个双重说明,但希望这不会有太大问题。
答案 0 :(得分:1)
从散景0.13.0
开始,直接从数据#5884
Create Marker class that encompasses all markers and allow specific marker type to be specified from data
在实施之前,最好的办法是利用CDSView
models在多个字形方法之间拆分单个数据集:
from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource, CDSView, GroupFilter
from bokeh.sampledata.iris import flowers
source = ColumnDataSource(flowers)
setosa = CDSView(source=source, filters=[GroupFilter(column_name='species', group='setosa')])
versicolor = CDSView(source=source, filters=[GroupFilter(column_name='species', group='versicolor')])
virginica = CDSView(source=source, filters=[GroupFilter(column_name='species', group='virginica')])
p = figure()
p.circle(x='petal_length', y='petal_width', source=source, view=setosa,
size=10, color='red', alpha=0.6, legend='setosa')
p.square(x='petal_length', y='petal_width', source=source, view=versicolor,
size=10, color='green', alpha=0.6, legend='versicolor')
p.triangle(x='petal_length', y='petal_width', source=source, view=virginica,
size=10, color='blue', alpha=0.6, legend='virginica')
p.legend.location = "top_left"
show(p)