Skip to content

Plots containing arrows fail to render correctly with svg output backend. #8744

@Haptein

Description

@Haptein

Also exporting a plot with output_backend='svg' when it contains arrows throws the following warning/exception:

WARNING:bokeh.io.export:The webdriver raised a TimeoutException while waiting for a bokeh:idle' event to signify that the layout has rendered. Something may have gone wrong.

It does not matter wether it is exported as svg or png, and the resulting image looks the same. Plot looks the same when using show() but no exception is shown.

Minimal example

from bokeh.io import export_svgs, export_png
from bokeh.models import Plot, Arrow, VeeHead, Range1d

plot = Plot( output_backend='svg',y_range=Range1d(-1,2),x_range=Range1d(-1,2))

plot.add_layout(Arrow(end=VeeHead(),
                      x_start=0, y_start=0,
                      x_end=1,   y_end=1))

plot.add_layout(Arrow(end=VeeHead(),
                      x_start=0, y_start=0,
                      x_end=0,   y_end=1))

export_png(plot,filename='svg_arrow.png')
export_svgs(plot,filename='arrow.svg')

Output with canvas backend.
canvas_arrow

Output with svg backend.
svg__arrow

Version Info
python: 3.6.8
bokeh: 1.0.4
selenium: 3.141.0
phantomjs: 2.1.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions