0

Is there a way to change the color for CrosshairTool in Bokeh?

From another related question I borrowed this example code:

import numpy as np
from bokeh.plotting import figure, show
from bokeh.layouts import gridplot
from bokeh.models import CrosshairTool

plots = [figure() for i in range(6)]
[plot.line(np.arange(10), np.random.random(10)) for plot in plots]

linked_crosshair = CrosshairTool(dimensions="both")

for plot in plots:
    plot.add_tools(linked_crosshair)

show(gridplot(children=[plot for plot in plots], ncols=3))
David H. J.
  • 340
  • 2
  • 12
  • 2
    The documentation indicates you can use "line_color" and "line_alpha" to change the color of stroke paths, but if you mean to change the tool itself, I don't know if there's a setting for that. http://docs.bokeh.org/en/latest/docs/reference/models/tools.html#crosshairtool – nigh_anxiety Jul 08 '22 at 01:48
  • That's exactly what I want. – David H. J. Jul 08 '22 at 12:50
  • I'll convert this into an answer so the question can be marked as answered. – nigh_anxiety Jul 08 '22 at 13:42

1 Answers1

2

As per the documentation: http://docs.bokeh.org/en/latest/docs/reference/models/tools.html#crosshairtool

Set the public attributes line_color and line_alpha to modify the stroke path.

line_alpha = 1.0

An alpha value to use to stroke paths with.

Acceptable values are floating-point numbers between 0 and 1 (0 being transparent and 1 being opaque).

line_color = 'black'
A color to use to stroke paths with.

Acceptable values are:

  • any of the named CSS colors, e.g 'green', 'indigo'
  • RGB(A) hex strings, e.g., '#FF0000', '#44444444'
  • CSS4 color strings, e.g., 'rgba(255, 0, 127, 0.6)', 'rgb(0 127 0 /1.0)', or 'hsl(60deg 100% 50% / 1.0)'
  • a 3-tuple of integers (r, g, b) between 0 and 255
  • a 4-tuple of (r, g, b, a) where r, g, b are integers between 0 and 255, and a is between 0 and 1
  • a 32-bit unsigned integer using the 0xRRGGBBAA byte order pattern

You can set line_width to set the stroke width in pixels. (Default 1)

The documentation isn't explicit, but it should also be possible to set these properties as a theme using the apply_theme(property_values: Dict[str, Any]) method

nigh_anxiety
  • 1,428
  • 2
  • 4
  • 12