散景箭头在情节中被切断
Bokeh Arrow cut off in plot
我正在用散景开发一些东西,我想根据图中箭头的位置和值创建和修改一些图表。线条已完美更新,但我在使用箭头时遇到了一些问题。
问题是当一个按钮在图中创建一个箭头时它被切断了。当我在 layout
中使用 row
时,就会发生这种情况
这是一个带有情节图像的最小示例
from bokeh.application import Application
from bokeh.server.server import Server
from bokeh.application.handlers.function import FunctionHandler
from bokeh.layouts import layout,row
from bokeh.models import Arrow, NormalHead,Button
from bokeh.plotting import figure
from functools import partial
class BkApp():
def __init__(self):
self.plot = figure(plot_height=200, plot_width=600, x_range=(-1,5), y_range=(-1500, 1500),tools='save')
self.btn = Button(label="Create Arrow", button_type="success")
self.doc = None
self.Layout = layout()
def Btn_function(APP:BkApp):
APP.plot.add_layout(Arrow(end=NormalHead(size=5, fill_color="#C0392B"),
x_start=5,
y_start=0,
x_end=-1,
y_end=0,
line_width= 3,
line_color = "#C0392B"))
APP.doc.clear()
APP.doc.add_root(APP.Layout)
def make_document(doc, APP:BkApp):
APP.doc = doc
APP.Layout = layout(row(APP.btn,APP.plot))
APP.doc.add_root(APP.Layout)
if __name__ == '__main__':
app = BkApp()
app.btn.on_click(partial(Btn_function, APP=app))
bkapp = {'/': Application(FunctionHandler(partial(make_document, APP=app)))}
server = Server(bkapp)
server.start()
server.io_loop.add_callback(server.show, "/")
server.io_loop.start()
箭头是这样截断的:
Cut off Arrow
但是,如果我使用任何工具创建布局,它都能完美运行。所以如果我使用这个 APP.Layout = layout(APP.btn,APP.plot)
情节会显示箭头。
我试图找到解决方法,但我不明白为什么在我使用 row
时会出现此错误
我使用 Python 3.6 和散景 2.0.0
更新:显然,这只有在我将按钮放在绘图上时才会发生。如果按钮在右侧,一切正常。
您遇到了这个散景问题:https://github.com/bokeh/bokeh/issues/9522
我正在用散景开发一些东西,我想根据图中箭头的位置和值创建和修改一些图表。线条已完美更新,但我在使用箭头时遇到了一些问题。
问题是当一个按钮在图中创建一个箭头时它被切断了。当我在 layout
row
时,就会发生这种情况
这是一个带有情节图像的最小示例
from bokeh.application import Application
from bokeh.server.server import Server
from bokeh.application.handlers.function import FunctionHandler
from bokeh.layouts import layout,row
from bokeh.models import Arrow, NormalHead,Button
from bokeh.plotting import figure
from functools import partial
class BkApp():
def __init__(self):
self.plot = figure(plot_height=200, plot_width=600, x_range=(-1,5), y_range=(-1500, 1500),tools='save')
self.btn = Button(label="Create Arrow", button_type="success")
self.doc = None
self.Layout = layout()
def Btn_function(APP:BkApp):
APP.plot.add_layout(Arrow(end=NormalHead(size=5, fill_color="#C0392B"),
x_start=5,
y_start=0,
x_end=-1,
y_end=0,
line_width= 3,
line_color = "#C0392B"))
APP.doc.clear()
APP.doc.add_root(APP.Layout)
def make_document(doc, APP:BkApp):
APP.doc = doc
APP.Layout = layout(row(APP.btn,APP.plot))
APP.doc.add_root(APP.Layout)
if __name__ == '__main__':
app = BkApp()
app.btn.on_click(partial(Btn_function, APP=app))
bkapp = {'/': Application(FunctionHandler(partial(make_document, APP=app)))}
server = Server(bkapp)
server.start()
server.io_loop.add_callback(server.show, "/")
server.io_loop.start()
箭头是这样截断的: Cut off Arrow
但是,如果我使用任何工具创建布局,它都能完美运行。所以如果我使用这个 APP.Layout = layout(APP.btn,APP.plot)
情节会显示箭头。
我试图找到解决方法,但我不明白为什么在我使用 row
我使用 Python 3.6 和散景 2.0.0
更新:显然,这只有在我将按钮放在绘图上时才会发生。如果按钮在右侧,一切正常。
您遇到了这个散景问题:https://github.com/bokeh/bokeh/issues/9522