散景 - 如何点击和拖动?
Bokeh - How to Click and Drag?
我想点击散点并拖动散景散点图的点。任何想法如何做到这一点?
(编辑:这是我想做的 an example)
对于散点图的示例,下面的代码生成在 this page 中途找到的散点图图表。
from bokeh.plotting import figure, output_file, show
# create a Figure object
p = figure(width=300, height=300, tools="pan,reset,save")
# add a Circle renderer to this figure
p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)
# specify how to output the plot(s)
output_file("foo.html")
# display the figure
show(p)
Multi-gesture 编辑工具只是最近添加的用户指南的 landing in version 0.12.14. You can find much more information in the Edit Tools 部分。
特别是为了能够按照 OP 中的描述移动点,使用 PointDrawTool
:
这是一个完整的示例,您可以 运行 它还有一个数据 table 显示字形移动时的更新坐标(您需要先激活工具栏中的工具, 默认关闭):
from bokeh.plotting import figure, output_file, show, Column
from bokeh.models import DataTable, TableColumn, PointDrawTool, ColumnDataSource
output_file("tools_point_draw.html")
p = figure(x_range=(0, 10), y_range=(0, 10), tools=[],
title='Point Draw Tool')
p.background_fill_color = 'lightgrey'
source = ColumnDataSource({
'x': [1, 5, 9], 'y': [1, 5, 9], 'color': ['red', 'green', 'yellow']
})
renderer = p.scatter(x='x', y='y', source=source, color='color', size=10)
columns = [TableColumn(field="x", title="x"),
TableColumn(field="y", title="y"),
TableColumn(field='color', title='color')]
table = DataTable(source=source, columns=columns, editable=True, height=200)
draw_tool = PointDrawTool(renderers=[renderer], empty_value='black')
p.add_tools(draw_tool)
p.toolbar.active_tap = draw_tool
show(Column(p, table))
我想点击散点并拖动散景散点图的点。任何想法如何做到这一点?
(编辑:这是我想做的 an example)
对于散点图的示例,下面的代码生成在 this page 中途找到的散点图图表。
from bokeh.plotting import figure, output_file, show
# create a Figure object
p = figure(width=300, height=300, tools="pan,reset,save")
# add a Circle renderer to this figure
p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)
# specify how to output the plot(s)
output_file("foo.html")
# display the figure
show(p)
Multi-gesture 编辑工具只是最近添加的用户指南的 landing in version 0.12.14. You can find much more information in the Edit Tools 部分。
特别是为了能够按照 OP 中的描述移动点,使用 PointDrawTool
:
这是一个完整的示例,您可以 运行 它还有一个数据 table 显示字形移动时的更新坐标(您需要先激活工具栏中的工具, 默认关闭):
from bokeh.plotting import figure, output_file, show, Column
from bokeh.models import DataTable, TableColumn, PointDrawTool, ColumnDataSource
output_file("tools_point_draw.html")
p = figure(x_range=(0, 10), y_range=(0, 10), tools=[],
title='Point Draw Tool')
p.background_fill_color = 'lightgrey'
source = ColumnDataSource({
'x': [1, 5, 9], 'y': [1, 5, 9], 'color': ['red', 'green', 'yellow']
})
renderer = p.scatter(x='x', y='y', source=source, color='color', size=10)
columns = [TableColumn(field="x", title="x"),
TableColumn(field="y", title="y"),
TableColumn(field='color', title='color')]
table = DataTable(source=source, columns=columns, editable=True, height=200)
draw_tool = PointDrawTool(renderers=[renderer], empty_value='black')
p.add_tools(draw_tool)
p.toolbar.active_tap = draw_tool
show(Column(p, table))