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.
-
class
Arrow
(**kwargs)[source]¶ Bases:
bokeh.models.annotations.Annotation
Render an arrow as an annotation.
-
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_dash
¶ property type:
DashPattern
The line dash 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_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.
-
-
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.
-
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_dash
¶ property type:
DashPattern
The line dash 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.
-
-
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.
-
bar_line_alpha
¶ property type:
NumberSpec
The line alpha for the color scale bar outline.
-
bar_line_dash
¶ property type:
DashPattern
The line dash 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_dash
¶ property type:
DashPattern
The line dash 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_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_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_dash
¶ property type:
DashPattern
The line dash 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.
-
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_dash
¶ property type:
DashPattern
The line dash 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.
-
ticker
¶ property type:
Instance
(Ticker
)A Ticker to use for computing locations of axis components.
-
title_standoff
¶ property type:
Int
The distance (in pixels) to separate the title from the color bar.
-
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_font_size
¶ property type:
FontSizeSpec
The text font size values for the title text.
-
-
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 givenx
andy
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
andy
, by using thex_offset
andy_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.
-
border_line_alpha
¶ property type:
NumberSpec
The line alpha values for the text bounding box.
-
border_line_dash
¶ property type:
DashPattern
The line dash 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_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_font_size
¶ property type:
FontSizeSpec
The text font size values for the text.
-
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_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.
-
-
class
LabelSet
(**kwargs)[source]¶ Bases:
bokeh.models.annotations.TextAnnotation
Render multiple text labels as annotations.
LabelSet
will render multiple text labels at givenx
andy
coordinates, which can be in either screen (pixel) space, or data (axis range) space. In this case (as opposed to the singleLabel
model),x
andy
can also be the name of a column from aColumnDataSource
, 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
andy
, by using thex_offset
andy_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.
-
border_line_alpha
¶ property type:
NumberSpec
The line alpha values for the text bounding box.
-
border_line_dash
¶ property type:
DashPattern
The line dash 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_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_font_size
¶ property type:
FontSizeSpec
The text font size 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.
-
-
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.
-
border_line_alpha
¶ property type:
NumberSpec
The line alpha for the legend border outline.
-
border_line_dash
¶ property type:
DashPattern
The line dash 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.
-
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_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_font_size
¶ property type:
FontSizeSpec
The text font size 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).
-
orientation
¶ property type:
Enum
(Orientation
)Whether the legend entries should be placed vertically or horizontally when they are drawn.
-
legend_margin
¶
-
legend_padding
¶
-
legend_spacing
¶
-
legends
¶
-
-
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.
-
-
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.
-
line_alpha
¶ property type:
NumberSpec
The line alpha values for the polygon.
-
line_dash
¶ property type:
DashPattern
The line dash 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_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_units
¶ property type:
Enum
(SpatialUnits
)The unit type for the ys attribute. Interpreted as “data space” units by default.
-
-
class
Span
(**kwargs)[source]¶ Bases:
bokeh.models.annotations.Annotation
Render a horizontal or vertical line span.
-
line_alpha
¶ property type:
NumberSpec
The line alpha values for the span.
-
line_dash
¶ property type:
DashPattern
The line dash values for the span.
-
line_width
¶ property type:
NumberSpec
The line width values for the span.
-
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”
-
-
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.
-
class
Title
(**kwargs)[source]¶ Bases:
bokeh.models.annotations.TextAnnotation
Render a single title box as an annotation.
-
background_fill_alpha
¶ property type:
NumberSpec
The fill alpha values for the text bounding box.
-
border_line_alpha
¶ property type:
NumberSpec
The line alpha values for the text bounding box.
-
border_line_dash
¶ property type:
DashPattern
The line dash 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_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
- any of the 147 named CSS colors, e.g
-
text_font
¶ property type:
String
Name of a font to use for rendering text, e.g.,
'times'
,'helvetica'
.
-
text_font_size
¶ property type:
FontSizeSpec
-
-
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.