添加一个基于框的编辑工具的矩形,然后移动它会导致矩形移动被夸大,超出了鼠标移动的位置。我有两个绘制的相同区域的图,它们相互关联,并且y轴从负数到零(如果有所不同)。我不确定它是否相关,但是十字线工具在两个图之间的x轴上未正确链接,或者随着光标移至更大的x值而差增大。
在最初的情况下,我已经删除了很多代码,但最初并没有解决任何问题,包括删除了“ stretch_both”。
import bokeh
from bokeh.layouts import layout, row, column
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from bokeh.models import Plot
from bokeh.models import FreehandDrawTool, BoxEditTool
from bokeh.models.tools import HoverTool, WheelZoomTool, BoxZoomTool, UndoTool,RedoTool,ResetTool, SaveTool, PanTool, CrosshairTool, LassoSelectTool
x_range=300
y_range=400
p1=figure(x_range=(0.0, x_range+0.0), y_range=(0.0-y_range,0.0), title="p1",
toolbar_location=None, tools='', x_axis_location="above")
p2=figure(x_range=p1.x_range, y_range=p1.y_range, title="p2",
toolbar_location="right", tools='', x_axis_location="above")
p1.y_range.bounds=((0.0-y_range),0.0)
### add shared tools.
wheel_zoom = WheelZoomTool()
pan_tool = PanTool()
crosshair = CrosshairTool()
box_zoom = BoxZoomTool()
reset = ResetTool()
tools = (wheel_zoom, box_zoom, pan_tool, reset, crosshair)
p1.add_tools(*tools)
p2.add_tools(*tools)
#### draw rectangles code
source_r=ColumnDataSource( {"x":[1],"y":[1],"width":[0.1], "height":[0.1]})
r1=p1.rect('x','y','width','height',source=source_r, fill_alpha=0, line_width=4, line_color="yellow", line_alpha=0.8)
r2=p2.rect('x','y','width','height',source=source_r, fill_alpha=0, line_width=4, line_color="yellow", line_alpha=0.8)
boxtool=BoxEditTool(renderers=[r1, r2])
p1.add_tools(boxtool)
p2.add_tools(boxtool)
seis_row=row(p1,p2)
output_file('eg_issue.html')
show(seis_row)
预期结果-框移动到鼠标移动的位置并且不会放大。如果十字准线光标在两个情节上达成一致,那就太好了。如果我为第一个图添加工具栏,我可以使光标同意,但是我不希望每个人都有它自己的工具栏。这些可能是错误,但我想我可以先问一下这里是否做过一些愚蠢的事情。谢谢。