bokeh.models.annotations

Renderers for various kinds of annotations that can be added to Bokeh plots

class Annotation(**kwargs)[source]

Bases: bokeh.models.renderers.Renderer

Base class for all annotation models.

Note

This is an abstract base class used to help organize the hierarchy of Bokeh model types. It is not useful to instantiate on its own.

plot

property type: Instance ( Plot )

The plot to which this annotation is attached.

JSON Prototype
{
  "id": "acb0dd69-80f2-4634-9741-e16ddd45a5c4",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "name": null,
  "plot": null,
  "subscribed_events": [],
  "tags": [],
  "visible": true
}
class Arrow(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render an arrow as an annotation.

end

property type: Instance ( ArrowHead )

Instance of ArrowHead.

end_units

property type: Enum ( SpatialUnits )

The unit type for the end_x and end_y attributes. Interpreted as “data space” units by default.

line_alpha

property type: NumberSpec

The line alpha values for the arrow body.

line_cap

property type: Enum ( LineCap )

The line cap values for the arrow body.

line_color

property type: ColorSpec

The line color values for the arrow body.

line_dash

property type: DashPattern

The line dash values for the arrow body.

line_dash_offset

property type: Int

The line dash offset values for the arrow body.

line_join

property type: Enum ( LineJoin )

The line join values for the arrow body.

line_width

property type: NumberSpec

The line width values for the arrow body.

source

property type: Instance ( DataSource )

Local data source to use when rendering annotations on the plot.

start

property type: Instance ( ArrowHead )

Instance of ArrowHead.

start_units

property type: Enum ( SpatialUnits )

The unit type for the start_x and start_y attributes. Interpreted as “data space” units by default.

x_end

property type: NumberSpec

The x-coordinates to locate the end of the arrows.

x_range_name

property type: String

A particular (named) x-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default x-range.

x_start

property type: NumberSpec

The x-coordinates to locate the start of the arrows.

y_end

property type: NumberSpec

The y-coordinates to locate the end of the arrows.

y_range_name

property type: String

A particular (named) y-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default y-range.

y_start

property type: NumberSpec

The y-coordinates to locate the start of the arrows.

JSON Prototype
{
  "end": {
    "id": "dbc85a7b-c46b-4872-b40f-95e78b30f87e",
    "type": "OpenHead"
  },
  "end_units": "data",
  "id": "a7fac845-028d-4f6b-af55-110c1d30818a",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "line_alpha": {
    "value": 1.0
  },
  "line_cap": "butt",
  "line_color": {
    "value": "black"
  },
  "line_dash": [],
  "line_dash_offset": 0,
  "line_join": "miter",
  "line_width": {
    "value": 1
  },
  "name": null,
  "plot": null,
  "source": null,
  "start": null,
  "start_units": "data",
  "subscribed_events": [],
  "tags": [],
  "visible": true,
  "x_end": null,
  "x_range_name": "default",
  "x_start": null,
  "y_end": null,
  "y_range_name": "default",
  "y_start": null
}
class BoxAnnotation(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render a shaded rectangular region as an annotation.

bottom

property type: Either ( Auto , NumberSpec )

The y-coordinates of the bottom edge of the box annotation.

bottom_units

property type: Enum ( SpatialUnits )

The unit type for the bottom attribute. Interpreted as “data space” units by default.

fill_alpha

property type: NumberSpec

The fill alpha values for the box.

fill_color

property type: ColorSpec

The fill color values for the box.

left

property type: Either ( Auto , NumberSpec )

The x-coordinates of the left edge of the box annotation.

left_units

property type: Enum ( SpatialUnits )

The unit type for the left attribute. Interpreted as “data space” units by default.

line_alpha

property type: NumberSpec

The line alpha values for the box.

line_cap

property type: Enum ( LineCap )

The line cap values for the box.

line_color

property type: ColorSpec

The line color values for the box.

line_dash

property type: DashPattern

The line dash values for the box.

line_dash_offset

property type: Int

The line dash offset values for the box.

line_join

property type: Enum ( LineJoin )

The line join values for the box.

line_width

property type: NumberSpec

The line width values for the box.

render_mode

property type: Enum ( RenderMode )

Specifies whether the box is rendered as a canvas element or as an css element overlaid on the canvas. The default mode is “canvas”.

Warning

The line_dash and line_dash_offset attributes aren’t supported if the render_mode is set to “css”

right

property type: Either ( Auto , NumberSpec )

The x-coordinates of the right edge of the box annotation.

right_units

property type: Enum ( SpatialUnits )

The unit type for the right attribute. Interpreted as “data space” units by default.

top

property type: Either ( Auto , NumberSpec )

The y-coordinates of the top edge of the box annotation.

top_units

property type: Enum ( SpatialUnits )

The unit type for the top attribute. Interpreted as “data space” units by default.

x_range_name

property type: String

A particular (named) x-range to use for computing screen locations when rendering box annotations on the plot. If unset, use the default x-range.

y_range_name

property type: String

A particular (named) y-range to use for computing screen locations when rendering box annotations on the plot. If unset, use the default y-range.

JSON Prototype
{
  "bottom": null,
  "bottom_units": "data",
  "fill_alpha": {
    "value": 0.4
  },
  "fill_color": {
    "value": "#fff9ba"
  },
  "id": "be5251e2-1714-48f2-bb0f-dd888a2f1af1",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "left": null,
  "left_units": "data",
  "level": "annotation",
  "line_alpha": {
    "value": 0.3
  },
  "line_cap": "butt",
  "line_color": {
    "value": "#cccccc"
  },
  "line_dash": [],
  "line_dash_offset": 0,
  "line_join": "miter",
  "line_width": {
    "value": 1
  },
  "name": null,
  "plot": null,
  "render_mode": "canvas",
  "right": null,
  "right_units": "data",
  "subscribed_events": [],
  "tags": [],
  "top": null,
  "top_units": "data",
  "visible": true,
  "x_range_name": "default",
  "y_range_name": "default"
}
class ColorBar(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render a color bar based on a color mapper.

background_fill_alpha

property type: NumberSpec

The fill alpha for the color bar background style.

background_fill_color

property type: ColorSpec

The fill color for the color bar background style.

bar_line_alpha

property type: NumberSpec

The line alpha for the color scale bar outline.

bar_line_cap

property type: Enum ( LineCap )

The line cap for the color scale bar outline.

bar_line_color

property type: ColorSpec

The line color for the color scale bar outline.

bar_line_dash

property type: DashPattern

The line dash for the color scale bar outline.

bar_line_dash_offset

property type: Int

The line dash offset for the color scale bar outline.

bar_line_join

property type: Enum ( LineJoin )

The line join for the color scale bar outline.

bar_line_width

property type: NumberSpec

The line width for the color scale bar outline.

border_line_alpha

property type: NumberSpec

The line alpha for the color bar border outline.

border_line_cap

property type: Enum ( LineCap )

The line cap for the color bar border outline.

border_line_color

property type: ColorSpec

The line color for the color bar border outline.

border_line_dash

property type: DashPattern

The line dash for the color bar border outline.

border_line_dash_offset

property type: Int

The line dash offset for the color bar border outline.

border_line_join

property type: Enum ( LineJoin )

The line join for the color bar border outline.

border_line_width

property type: NumberSpec

The line width for the color bar border outline.

color_mapper

property type: Instance ( ContinuousColorMapper )

A continuous color mapper containing a color palette to render.

Warning

If the low and high attributes of the ColorMapper aren’t set, ticks and tick labels won’t be rendered.

formatter

property type: Instance ( TickFormatter )

A TickFormatter to use for formatting the visual appearance of ticks.

height

property type: Either ( Auto , Int )

The height (in pixels) that the color scale should occupy.

label_standoff

property type: Int

The distance (in pixels) to separate the tick labels from the color bar.

location

property type: Either ( Enum ( Anchor ), Tuple ( Float , Float ) )

The location where the color bar should draw itself. It’s either one of bokeh.core.enums.LegendLocation‘s enumerated values, or a (x, y) tuple indicating an absolute location absolute location in screen coordinates (pixels from the bottom-left corner).

Warning

If the color bar is placed in a side panel, the location will likely have to be set to (0,0).

major_label_text_align

property type: Enum ( TextAlign )

The text align of the major tick labels.

major_label_text_alpha

property type: NumberSpec

The text alpha of the major tick labels.

major_label_text_baseline

property type: Enum ( TextBaseline )

The text baseline of the major tick labels.

major_label_text_color

property type: ColorSpec

The text color of the major tick labels.

major_label_text_font

property type: String

The text font of the major tick labels.

major_label_text_font_size

property type: FontSizeSpec

The text font size of the major tick labels.

major_label_text_font_style

property type: Enum ( FontStyle )

The text font style of the major tick labels.

major_tick_in

property type: Int

The distance (in pixels) that major ticks should extend into the main plot area.

major_tick_line_alpha

property type: NumberSpec

The line alpha of the major ticks.

major_tick_line_cap

property type: Enum ( LineCap )

The line cap of the major ticks.

major_tick_line_color

property type: ColorSpec

The line color of the major ticks.

major_tick_line_dash

property type: DashPattern

The line dash of the major ticks.

major_tick_line_dash_offset

property type: Int

The line dash offset of the major ticks.

major_tick_line_join

property type: Enum ( LineJoin )

The line join of the major ticks.

major_tick_line_width

property type: NumberSpec

The line width of the major ticks.

major_tick_out

property type: Int

The distance (in pixels) that major ticks should extend out of the main plot area.

margin

property type: Int

Amount of margin (in pixels) around the outside of the color bar.

minor_tick_in

property type: Int

The distance (in pixels) that minor ticks should extend into the main plot area.

minor_tick_line_alpha

property type: NumberSpec

The line alpha of the minor ticks.

minor_tick_line_cap

property type: Enum ( LineCap )

The line cap of the minor ticks.

minor_tick_line_color

property type: ColorSpec

The line color of the minor ticks.

minor_tick_line_dash

property type: DashPattern

The line dash of the minor ticks.

minor_tick_line_dash_offset

property type: Int

The line dash offset of the minor ticks.

minor_tick_line_join

property type: Enum ( LineJoin )

The line join of the minor ticks.

minor_tick_line_width

property type: NumberSpec

The line width of the minor ticks.

minor_tick_out

property type: Int

The distance (in pixels) that major ticks should extend out of the main plot area.

orientation

property type: Enum ( Orientation )

Whether the color bar should be oriented vertically or horizontally.

padding

property type: Int

Amount of padding (in pixels) between the color scale and color bar border.

scale_alpha

property type: Float

The alpha with which to render the color scale.

ticker

property type: Instance ( Ticker )

A Ticker to use for computing locations of axis components.

title

property type: String

The title text to render.

title_standoff

property type: Int

The distance (in pixels) to separate the title from the color bar.

title_text_align

property type: Enum ( TextAlign )

The text align values for the title text.

title_text_alpha

property type: NumberSpec

The text alpha values for the title text.

title_text_baseline

property type: Enum ( TextBaseline )

The text baseline values for the title text.

title_text_color

property type: ColorSpec

The text color values for the title text.

title_text_font

property type: String

The text font values for the title text.

title_text_font_size

property type: FontSizeSpec

The text font size values for the title text.

title_text_font_style

property type: Enum ( FontStyle )

The text font style values for the title text.

width

property type: Either ( Auto , Int )

The width (in pixels) that the color scale should occupy.

JSON Prototype
{
  "background_fill_alpha": {
    "value": 0.95
  },
  "background_fill_color": {
    "value": "#ffffff"
  },
  "bar_line_alpha": {
    "value": 1.0
  },
  "bar_line_cap": "butt",
  "bar_line_color": {
    "value": null
  },
  "bar_line_dash": [],
  "bar_line_dash_offset": 0,
  "bar_line_join": "miter",
  "bar_line_width": {
    "value": 1
  },
  "border_line_alpha": {
    "value": 1.0
  },
  "border_line_cap": "butt",
  "border_line_color": {
    "value": null
  },
  "border_line_dash": [],
  "border_line_dash_offset": 0,
  "border_line_join": "miter",
  "border_line_width": {
    "value": 1
  },
  "color_mapper": null,
  "formatter": {
    "id": "b61a4a2b-dec8-49de-a863-8f5947e8052c",
    "type": "BasicTickFormatter"
  },
  "height": "auto",
  "id": "b932ed9e-1be3-4ad6-ab81-a69eef5393a9",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "label_standoff": 5,
  "level": "annotation",
  "location": "top_right",
  "major_label_text_align": "center",
  "major_label_text_alpha": {
    "value": 1.0
  },
  "major_label_text_baseline": "middle",
  "major_label_text_color": {
    "value": "#444444"
  },
  "major_label_text_font": "helvetica",
  "major_label_text_font_size": {
    "value": "8pt"
  },
  "major_label_text_font_style": "normal",
  "major_tick_in": 5,
  "major_tick_line_alpha": {
    "value": 1.0
  },
  "major_tick_line_cap": "butt",
  "major_tick_line_color": {
    "value": "#ffffff"
  },
  "major_tick_line_dash": [],
  "major_tick_line_dash_offset": 0,
  "major_tick_line_join": "miter",
  "major_tick_line_width": {
    "value": 1
  },
  "major_tick_out": 0,
  "margin": 30,
  "minor_tick_in": 0,
  "minor_tick_line_alpha": {
    "value": 1.0
  },
  "minor_tick_line_cap": "butt",
  "minor_tick_line_color": {
    "value": null
  },
  "minor_tick_line_dash": [],
  "minor_tick_line_dash_offset": 0,
  "minor_tick_line_join": "miter",
  "minor_tick_line_width": {
    "value": 1
  },
  "minor_tick_out": 0,
  "name": null,
  "orientation": "vertical",
  "padding": 10,
  "plot": null,
  "scale_alpha": 1.0,
  "subscribed_events": [],
  "tags": [],
  "ticker": {
    "id": "20fd517e-accf-40ad-8a73-4a35462c5832",
    "type": "BasicTicker"
  },
  "title": null,
  "title_standoff": 2,
  "title_text_align": "left",
  "title_text_alpha": {
    "value": 1.0
  },
  "title_text_baseline": "bottom",
  "title_text_color": {
    "value": "#444444"
  },
  "title_text_font": "helvetica",
  "title_text_font_size": {
    "value": "10pt"
  },
  "title_text_font_style": "italic",
  "visible": true,
  "width": "auto"
}
class Label(**kwargs)[source]

Bases: bokeh.models.annotations.TextAnnotation

Render a single text label as an annotation.

Label will render a single text label at given x and y coordinates, which can be in either screen (pixel) space, or data (axis range) space.

The label can also be configured with a screen space offset from x and y, by using the x_offset and y_offset properties.

Additionally, the label can be rotated with the angle property.

There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.

angle

property type: Angle

The angle to rotate the text, as measured from the horizontal.

Warning

The center of rotation for canvas and css render_modes is different. For render_mode=”canvas” the label is rotated from the top-left corner of the annotation, while for render_mode=”css” the annotation is rotated around it’s center.

angle_units

property type: Enum ( AngleUnits )

Acceptable values for units are "rad" and "deg"

background_fill_alpha

property type: NumberSpec

The fill alpha values for the text bounding box.

background_fill_color

property type: ColorSpec

The fill color values for the text bounding box.

border_line_alpha

property type: NumberSpec

The line alpha values for the text bounding box.

border_line_cap

property type: Enum ( LineCap )

The line cap values for the text bounding box.

border_line_color

property type: ColorSpec

The line color values for the text bounding box.

border_line_dash

property type: DashPattern

The line dash values for the text bounding box.

border_line_dash_offset

property type: Int

The line dash offset values for the text bounding box.

border_line_join

property type: Enum ( LineJoin )

The line join values for the text bounding box.

border_line_width

property type: NumberSpec

The line width values for the text bounding box.

render_mode

property type: Enum ( RenderMode )

Specifies whether the text is rendered as a canvas element or as an css element overlaid on the canvas. The default mode is “canvas”.

Note

The CSS labels won’t be present in the output using the “save” tool.

Warning

Not all visual styling properties are supported if the render_mode is set to “css”. The border_line_dash property isn’t fully supported and border_line_dash_offset isn’t supported at all. Setting text_alpha will modify the opacity of the entire background box and border in addition to the text. Finally, clipping Label annotations inside of the plot area isn’t supported in “css” mode.

text

property type: String

The text value to render.

text_align

property type: Enum ( TextAlign )

The text align values for the text.

text_alpha

property type: NumberSpec

The text alpha values for the text.

text_baseline

property type: Enum ( TextBaseline )

The text baseline values for the text.

text_color

property type: ColorSpec

The text color values for the text.

text_font

property type: String

The text font values for the text.

text_font_size

property type: FontSizeSpec

The text font size values for the text.

text_font_style

property type: Enum ( FontStyle )

The text font style values for the text.

x

property type: Float

The x-coordinate in screen coordinates to locate the text anchors.

x_offset

property type: Float

Offset value to apply to the x-coordinate.

This is useful, for instance, if it is desired to “float” text a fixed distance in screen units from a given data position.

x_range_name

property type: String

A particular (named) x-range to use for computing screen location when rendering an annotation on the plot. If unset, use the default x-range.

x_units

property type: Enum ( SpatialUnits )

The unit type for the x attribute. Interpreted as “data space” units by default.

y

property type: Float

The y-coordinate in screen coordinates to locate the text anchors.

y_offset

property type: Float

Offset value to apply to the y-coordinate.

This is useful, for instance, if it is desired to “float” text a fixed distance in screen units from a given data position.

y_range_name

property type: String

A particular (named) y-range to use for computing screen location when rendering an annotation on the plot. If unset, use the default y-range.

y_units

property type: Enum ( SpatialUnits )

The unit type for the y attribute. Interpreted as “data space” units by default.

JSON Prototype
{
  "angle": 0,
  "angle_units": "rad",
  "background_fill_alpha": {
    "value": 1.0
  },
  "background_fill_color": {
    "value": null
  },
  "border_line_alpha": {
    "value": 1.0
  },
  "border_line_cap": "butt",
  "border_line_color": {
    "value": null
  },
  "border_line_dash": [],
  "border_line_dash_offset": 0,
  "border_line_join": "miter",
  "border_line_width": {
    "value": 1
  },
  "id": "852d00f3-41dc-4ab5-8ee7-864a2b08a074",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "name": null,
  "plot": null,
  "render_mode": "canvas",
  "subscribed_events": [],
  "tags": [],
  "text": null,
  "text_align": "left",
  "text_alpha": {
    "value": 1.0
  },
  "text_baseline": "bottom",
  "text_color": {
    "value": "#444444"
  },
  "text_font": "helvetica",
  "text_font_size": {
    "value": "12pt"
  },
  "text_font_style": "normal",
  "visible": true,
  "x": null,
  "x_offset": 0,
  "x_range_name": "default",
  "x_units": "data",
  "y": null,
  "y_offset": 0,
  "y_range_name": "default",
  "y_units": "data"
}
class LabelSet(**kwargs)[source]

Bases: bokeh.models.annotations.TextAnnotation

Render multiple text labels as annotations.

LabelSet will render multiple text labels at given x and y coordinates, which can be in either screen (pixel) space, or data (axis range) space. In this case (as opposed to the single Label model), x and y can also be the name of a column from a ColumnDataSource, in which case the labels will be “vectorized” using coordinate values from the specified columns.

The label can also be configured with a screen space offset from x and y, by using the x_offset and y_offset properties. These offsets may be vectorized by giving the name of a data source column.

Additionally, the label can be rotated with the angle property (which may also be a column name.)

There are also standard text, fill, and line properties to control the appearance of the text, its background, as well as the rectangular bounding box border.

The data source is provided by setting the source property.

angle

property type: AngleSpec

The angles to rotate the text, as measured from the horizontal.

Warning

The center of rotation for canvas and css render_modes is different. For render_mode=”canvas” the label is rotated from the top-left corner of the annotation, while for render_mode=”css” the annotation is rotated around it’s center.

angle_units

property type: Enum ( AngleUnits )

background_fill_alpha

property type: NumberSpec

The fill alpha values for the text bounding box.

background_fill_color

property type: ColorSpec

The fill color values for the text bounding box.

border_line_alpha

property type: NumberSpec

The line alpha values for the text bounding box.

border_line_cap

property type: Enum ( LineCap )

The line cap values for the text bounding box.

border_line_color

property type: ColorSpec

The line color values for the text bounding box.

border_line_dash

property type: DashPattern

The line dash values for the text bounding box.

border_line_dash_offset

property type: Int

The line dash offset values for the text bounding box.

border_line_join

property type: Enum ( LineJoin )

The line join values for the text bounding box.

border_line_width

property type: NumberSpec

The line width values for the text bounding box.

render_mode

property type: Enum ( RenderMode )

Specifies whether the text is rendered as a canvas element or as an css element overlaid on the canvas. The default mode is “canvas”.

Note

The CSS labels won’t be present in the output using the “save” tool.

Warning

Not all visual styling properties are supported if the render_mode is set to “css”. The border_line_dash property isn’t fully supported and border_line_dash_offset isn’t supported at all. Setting text_alpha will modify the opacity of the entire background box and border in addition to the text. Finally, clipping Label annotations inside of the plot area isn’t supported in “css” mode.

source

property type: Instance ( DataSource )

Local data source to use when rendering annotations on the plot.

text

property type: StringSpec

The text values to render.

text_align

property type: Enum ( TextAlign )

The text align values for the text.

text_alpha

property type: NumberSpec

The text alpha values for the text.

text_baseline

property type: Enum ( TextBaseline )

The text baseline values for the text.

text_color

property type: ColorSpec

The text color values for the text.

text_font

property type: String

The text font values for the text.

text_font_size

property type: FontSizeSpec

The text font size values for the text.

text_font_style

property type: Enum ( FontStyle )

The text font style values for the text.

x

property type: NumberSpec

The x-coordinates to locate the text anchors.

x_offset

property type: NumberSpec

Offset values to apply to the x-coordinates.

This is useful, for instance, if it is desired to “float” text a fixed distance in screen units from a given data position.

x_range_name

property type: String

A particular (named) x-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default x-range.

x_units

property type: Enum ( SpatialUnits )

The unit type for the xs attribute. Interpreted as “data space” units by default.

y

property type: NumberSpec

The y-coordinates to locate the text anchors.

y_offset

property type: NumberSpec

Offset values to apply to the y-coordinates.

This is useful, for instance, if it is desired to “float” text a fixed distance in screen units from a given data position.

y_range_name

property type: String

A particular (named) y-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default y-range.

y_units

property type: Enum ( SpatialUnits )

The unit type for the ys attribute. Interpreted as “data space” units by default.

JSON Prototype
{
  "angle": {
    "units": "rad",
    "value": 0
  },
  "background_fill_alpha": {
    "value": 1.0
  },
  "background_fill_color": {
    "value": null
  },
  "border_line_alpha": {
    "value": 1.0
  },
  "border_line_cap": "butt",
  "border_line_color": {
    "value": null
  },
  "border_line_dash": [],
  "border_line_dash_offset": 0,
  "border_line_join": "miter",
  "border_line_width": {
    "value": 1
  },
  "id": "081c4f0d-8567-41c9-ba63-1a29cde071d7",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "name": null,
  "plot": null,
  "render_mode": "canvas",
  "source": {
    "id": "591812fb-7a9c-4c92-b4d4-aec89ec78283",
    "type": "ColumnDataSource"
  },
  "subscribed_events": [],
  "tags": [],
  "text": {
    "field": "text"
  },
  "text_align": "left",
  "text_alpha": {
    "value": 1.0
  },
  "text_baseline": "bottom",
  "text_color": {
    "value": "#444444"
  },
  "text_font": "helvetica",
  "text_font_size": {
    "value": "12pt"
  },
  "text_font_style": "normal",
  "visible": true,
  "x": null,
  "x_offset": {
    "value": 0
  },
  "x_range_name": "default",
  "x_units": "data",
  "y": null,
  "y_offset": {
    "value": 0
  },
  "y_range_name": "default",
  "y_units": "data"
}
class Legend(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render informational legends for a plot.

background_fill_alpha

property type: NumberSpec

The fill alpha for the legend background style.

background_fill_color

property type: ColorSpec

The fill color for the legend background style.

border_line_alpha

property type: NumberSpec

The line alpha for the legend border outline.

border_line_cap

property type: Enum ( LineCap )

The line cap for the legend border outline.

border_line_color

property type: ColorSpec

The line color for the legend border outline.

border_line_dash

property type: DashPattern

The line dash for the legend border outline.

border_line_dash_offset

property type: Int

The line dash offset for the legend border outline.

border_line_join

property type: Enum ( LineJoin )

The line join for the legend border outline.

border_line_width

property type: NumberSpec

The line width for the legend border outline.

click_policy

property type: Enum ( LegendClickPolicy )

Defines what happens when a lengend’s item is clicked.

glyph_height

property type: Int

The height (in pixels) that the rendered legend glyph should occupy.

glyph_width

property type: Int

The width (in pixels) that the rendered legend glyph should occupy.

inactive_fill_alpha

property type: NumberSpec

The fill alpha for the legend background style when inactive.

inactive_fill_color

property type: ColorSpec

The fill color for the legend background style when inactive.

items

property type: List ( Instance ( LegendItem ) )

A list of LegendItem instances to be rendered in the legend.

This can be specified explicitly, for instance:

legend = Legend(items=[
    LegendItem(label="sin(x)"   , renderers=[r0, r1]),
    LegendItem(label="2*sin(x)" , renderers=[r2]),
    LegendItem(label="3*sin(x)" , renderers=[r3, r4])
])

But as a convenience, can also be given more compactly as a list of tuples:

legend = Legend(items=[
    ("sin(x)"   , [r0, r1]),
    ("2*sin(x)" , [r2]),
    ("3*sin(x)" , [r3, r4])
])

where each tuple is of the form: (label, renderers).

label_height

property type: Int

The minimum height (in pixels) of the area that legend labels should occupy.

label_standoff

property type: Int

The distance (in pixels) to separate the label from its associated glyph.

label_text_align

property type: Enum ( TextAlign )

The text align for the legend labels.

label_text_alpha

property type: NumberSpec

The text alpha for the legend labels.

label_text_baseline

property type: Enum ( TextBaseline )

The text baseline for the legend labels.

label_text_color

property type: ColorSpec

The text color for the legend labels.

label_text_font

property type: String

The text font for the legend labels.

label_text_font_size

property type: FontSizeSpec

The text font size for the legend labels.

label_text_font_style

property type: Enum ( FontStyle )

The text font style for the legend labels.

label_width

property type: Int

The minimum width (in pixels) of the area that legend labels should occupy.

location

property type: Either ( Enum ( Anchor ), Tuple ( Float , Float ) )

The location where the legend should draw itself. It’s either one of bokeh.core.enums.LegendLocation‘s enumerated values, or a (x, y) tuple indicating an absolute location absolute location in screen coordinates (pixels from the bottom-left corner).

margin

property type: Int

Amount of margin around the legend.

orientation

property type: Enum ( Orientation )

Whether the legend entries should be placed vertically or horizontally when they are drawn.

padding

property type: Int

Amount of padding around the contents of the legend.

spacing

property type: Int

Amount of spacing (in pixles) between legend entries.

legend_margin
legend_padding
legend_spacing
legends
JSON Prototype
{
  "background_fill_alpha": {
    "value": 0.95
  },
  "background_fill_color": {
    "value": "#ffffff"
  },
  "border_line_alpha": {
    "value": 0.5
  },
  "border_line_cap": "butt",
  "border_line_color": {
    "value": "#e5e5e5"
  },
  "border_line_dash": [],
  "border_line_dash_offset": 0,
  "border_line_join": "miter",
  "border_line_width": {
    "value": 1
  },
  "click_policy": "none",
  "glyph_height": 20,
  "glyph_width": 20,
  "id": "eb758e72-8a24-4baf-9ede-0550687d87bd",
  "inactive_fill_alpha": {
    "value": 0.9
  },
  "inactive_fill_color": {
    "value": "white"
  },
  "items": [],
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "label_height": 20,
  "label_standoff": 5,
  "label_text_align": "left",
  "label_text_alpha": {
    "value": 1.0
  },
  "label_text_baseline": "middle",
  "label_text_color": {
    "value": "#444444"
  },
  "label_text_font": "helvetica",
  "label_text_font_size": {
    "value": "10pt"
  },
  "label_text_font_style": "normal",
  "label_width": 20,
  "level": "annotation",
  "location": "top_right",
  "margin": 10,
  "name": null,
  "orientation": "vertical",
  "padding": 10,
  "plot": null,
  "spacing": 3,
  "subscribed_events": [],
  "tags": [],
  "visible": true
}
class LegendItem(*args, **kwargs)[source]

Bases: bokeh.model.Model

label

property type: StringSpec

A label for this legend. Can be a string, or a column of a ColumnDataSource. If label is a field, then it must be in the renderers’ data_source.

renderers

property type: List ( Instance ( GlyphRenderer ) )

A list of the glyph renderers to draw in the legend. If label is a field, then all data_sources of renderers must be the same.

JSON Prototype
{
  "id": "69a7550a-8eda-4933-832d-7e0dab6ab8ab",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "label": null,
  "name": null,
  "renderers": [],
  "subscribed_events": [],
  "tags": []
}
class PolyAnnotation(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render a shaded polygonal region as an annotation.

fill_alpha

property type: NumberSpec

The fill alpha values for the polygon.

fill_color

property type: ColorSpec

The fill color values for the polygon.

line_alpha

property type: NumberSpec

The line alpha values for the polygon.

line_cap

property type: Enum ( LineCap )

The line cap values for the polygon.

line_color

property type: ColorSpec

The line color values for the polygon.

line_dash

property type: DashPattern

The line dash values for the polygon.

line_dash_offset

property type: Int

The line dash offset values for the polygon.

line_join

property type: Enum ( LineJoin )

The line join values for the polygon.

line_width

property type: NumberSpec

The line width values for the polygon.

x_range_name

property type: String

A particular (named) x-range to use for computing screen locations when rendering box annotations on the plot. If unset, use the default x-range.

xs

property type: Seq ( Float )

The x-coordinates of the region to draw.

xs_units

property type: Enum ( SpatialUnits )

The unit type for the xs attribute. Interpreted as “data space” units by default.

y_range_name

property type: String

A particular (named) y-range to use for computing screen locations when rendering box annotations on the plot. If unset, use the default y-range.

ys

property type: Seq ( Float )

The y-coordinates of the region to draw.

ys_units

property type: Enum ( SpatialUnits )

The unit type for the ys attribute. Interpreted as “data space” units by default.

JSON Prototype
{
  "fill_alpha": {
    "value": 0.4
  },
  "fill_color": {
    "value": "#fff9ba"
  },
  "id": "351a01b6-25d5-4adb-826c-d1c9afe0c6f3",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "line_alpha": {
    "value": 0.3
  },
  "line_cap": "butt",
  "line_color": {
    "value": "#cccccc"
  },
  "line_dash": [],
  "line_dash_offset": 0,
  "line_join": "miter",
  "line_width": {
    "value": 1
  },
  "name": null,
  "plot": null,
  "subscribed_events": [],
  "tags": [],
  "visible": true,
  "x_range_name": "default",
  "xs": [],
  "xs_units": "data",
  "y_range_name": "default",
  "ys": [],
  "ys_units": "data"
}
class Span(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render a horizontal or vertical line span.

dimension

property type: Enum ( Dimension )

The direction of the span.

line_alpha

property type: NumberSpec

The line alpha values for the span.

line_cap

property type: Enum ( LineCap )

The line cap values for the span.

line_color

property type: ColorSpec

The line color values for the span.

line_dash

property type: DashPattern

The line dash values for the span.

line_dash_offset

property type: Int

The line dash offset values for the span.

line_join

property type: Enum ( LineJoin )

The line join values for the span.

line_width

property type: NumberSpec

The line width values for the span.

location

property type: Float

The location of the span, along dimension.

location_units

property type: Enum ( SpatialUnits )

The unit type for the location attribute. Interpreted as “data space” units by default.

render_mode

property type: Enum ( RenderMode )

Specifies whether the span is rendered as a canvas element or as an css element overlaid on the canvas. The default mode is “canvas”.

Warning

The line_dash and line_dash_offset attributes aren’t supported if the render_mode is set to “css”

x_range_name

property type: String

A particular (named) x-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default x-range.

y_range_name

property type: String

A particular (named) y-range to use for computing screen locations when rendering annotations on the plot. If unset, use the default y-range.

JSON Prototype
{
  "dimension": "width",
  "id": "d81d7b73-4358-4c6e-9a05-51d4619ebf00",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "line_alpha": {
    "value": 1.0
  },
  "line_cap": "butt",
  "line_color": {
    "value": "black"
  },
  "line_dash": [],
  "line_dash_offset": 0,
  "line_join": "miter",
  "line_width": {
    "value": 1
  },
  "location": null,
  "location_units": "data",
  "name": null,
  "plot": null,
  "render_mode": "canvas",
  "subscribed_events": [],
  "tags": [],
  "visible": true,
  "x_range_name": "default",
  "y_range_name": "default"
}
class TextAnnotation(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Base class for text annotation models such as labels and titles.

Note

This is an abstract base class used to help organize the hierarchy of Bokeh model types. It is not useful to instantiate on its own.

JSON Prototype
{
  "id": "b28f5442-e8c7-4f8c-86fc-8bc8ddcb2754",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "name": null,
  "plot": null,
  "subscribed_events": [],
  "tags": [],
  "visible": true
}
class Title(**kwargs)[source]

Bases: bokeh.models.annotations.TextAnnotation

Render a single title box as an annotation.

align

property type: Enum ( TextAlign )

Location to align the title text.

background_fill_alpha

property type: NumberSpec

The fill alpha values for the text bounding box.

background_fill_color

property type: ColorSpec

The fill color values for the text bounding box.

border_line_alpha

property type: NumberSpec

The line alpha values for the text bounding box.

border_line_cap

property type: Enum ( LineCap )

The line cap values for the text bounding box.

border_line_color

property type: ColorSpec

The line color values for the text bounding box.

border_line_dash

property type: DashPattern

The line dash values for the text bounding box.

border_line_dash_offset

property type: Int

The line dash offset values for the text bounding box.

border_line_join

property type: Enum ( LineJoin )

The line join values for the text bounding box.

border_line_width

property type: NumberSpec

The line width values for the text bounding box.

offset

property type: Float

Offset the text by a number of pixels (can be positive or negative). Shifts the text in different directions based on the location of the title:

  • above: shifts title right
  • right: shifts title down
  • below: shifts title right
  • left: shifts title up
render_mode

property type: Enum ( RenderMode )

Specifies whether the text is rendered as a canvas element or as an css element overlaid on the canvas. The default mode is “canvas”.

Note

The CSS labels won’t be present in the output using the “save” tool.

Warning

Not all visual styling properties are supported if the render_mode is set to “css”. The border_line_dash property isn’t fully supported and border_line_dash_offset isn’t supported at all. Setting text_alpha will modify the opacity of the entire background box and border in addition to the text. Finally, clipping Label annotations inside of the plot area isn’t supported in “css” mode.

text

property type: String

The text value to render.

text_alpha

property type: NumberSpec

An alpha value to use to fill text with.

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

text_color

property type: ColorSpec

A color to use to fill text with.

Acceptable values are:

  • any of the 147 named CSS colors, e.g 'green', 'indigo'
  • an RGB(A) hex value, e.g., '#FF0000', '#44444444'
  • 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..255 and a is between 0..1
text_font

property type: String

Name of a font to use for rendering text, e.g., 'times', 'helvetica'.

text_font_size

property type: FontSizeSpec

text_font_style

property type: Enum ( FontStyle )

A style to use for rendering text.

Acceptable values are:

  • 'normal' normal text
  • 'italic' italic text
  • 'bold' bold text
JSON Prototype
{
  "align": "left",
  "background_fill_alpha": {
    "value": 1.0
  },
  "background_fill_color": {
    "value": null
  },
  "border_line_alpha": {
    "value": 1.0
  },
  "border_line_cap": "butt",
  "border_line_color": {
    "value": null
  },
  "border_line_dash": [],
  "border_line_dash_offset": 0,
  "border_line_join": "miter",
  "border_line_width": {
    "value": 1
  },
  "id": "30dcdc17-c152-4264-afe6-bf8a51621479",
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "annotation",
  "name": null,
  "offset": 0,
  "plot": null,
  "render_mode": "canvas",
  "subscribed_events": [],
  "tags": [],
  "text": null,
  "text_alpha": {
    "value": 1.0
  },
  "text_color": {
    "value": "#444444"
  },
  "text_font": "helvetica",
  "text_font_size": {
    "value": "10pt"
  },
  "text_font_style": "bold",
  "visible": true
}
class Tooltip(**kwargs)[source]

Bases: bokeh.models.annotations.Annotation

Render a tooltip.

Note

This model is currently managed by BokehJS and is not useful directly from python.

attachment

property type: Enum ( Enumeration(horizontal, vertical, left, right, above, below) )

Whether the tooltip should display to the left or right off the cursor position or above or below it, or if it should be automatically placed in the horizontal or vertical dimension.

inner_only

property type: Bool

Whether to display outside a central plot frame area.

show_arrow

property type: Bool

Whether tooltip’s arrow should be showed.

JSON Prototype
{
  "attachment": "horizontal",
  "id": "d73d43b3-bb14-473a-8deb-cb201b154ecc",
  "inner_only": true,
  "js_event_callbacks": {},
  "js_property_callbacks": {},
  "level": "overlay",
  "name": null,
  "plot": null,
  "show_arrow": true,
  "subscribed_events": [],
  "tags": [],
  "visible": true
}