bokeh.core.property_mixins#

Mix-in classes that bulk add groups of properties to Bokeh models.

Some groups of properties often show up in Bokeh models together. For instance, any model that exposes a fill color property for use when rendering will almost always want to expose a fill alpha as well. To reduce boilerplate code and simplify defining models with these sets of properties, use the mix-in classes in this module:

  • FillProps — properties for fill color and alpha

  • HatchProps — properties for hatching pattern, color, alpha, etc.

  • ImageProps — properties for global alpha on images

  • LineProps — properties for line color, dashing, width, etc.

  • TextProps — properties for text color, font, etc.

To include these properties in a Bokeh model, use the Include property as shown here:

class SomeGlyph(Glyph):

    fill_props = Include(FillProps, help="""
    The {prop} values for the annular wedges.
    """)

This adds all the fill properties fill_color and fill_alpha to this model. The help string contains a placeholder {prop}. When docs for this class are rendered by the, the placeholder will be replaced with more information specific to each property.

class FillProps(**properties: Any)[source]#

Properties relevant to rendering fill regions.

Mirrors the BokehJS properties.FillVector class.

fill_alpha = 1.0#
Type:

AlphaSpec

An alpha value to use to fill paths with.

Acceptable values are numbers in 0..1 range (transparent..opaque).

fill_color = 'gray'#
Type:

ColorSpec

A color to use to fill 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)'

  • 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

  • a 32-bit unsiged integers using the 0xRRGGBBAA byte order pattern

class HatchProps(**properties: Any)[source]#

Properties relevant to rendering fill regions.

Mirrors the BokehJS properties.HatchVector class.

hatch_alpha = 1.0#
Type:

AlphaSpec

An alpha value to use to hatching with.

Acceptable values are numbers in 0..1 range (transparent..opaque).

hatch_color = 'black'#
Type:

ColorSpec

A color to use to hatching 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)'

  • 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

  • a 32-bit unsiged integers using the 0xRRGGBBAA byte order pattern

hatch_pattern = None#
Type:

HatchPatternSpec

Built-in patterns are can either be specified as long names:

blank, dot, ring, horizontal_line, vertical_line, cross, horizontal_dash, vertical_dash, spiral, right_diagonal_line, left_diagonal_line, diagonal_cross, right_diagonal_dash, left_diagonal_dash, horizontal_wave, vertical_wave, criss_cross

or as one-letter abbreviations:

‘ ‘, ‘.’, ‘o’, ‘-’, ‘|’, ‘+’, ‘”’, ‘:’, ‘@’, ‘/’, ‘\’, ‘x’, ‘,’, ‘`’, ‘v’, ‘>’, ‘*’

hatch_scale = 12.0#
Type:

NumberSpec

A rough measure of the ‘size’ of the hatching pattern. Generally speaking, the higher the number, the more spread out the pattern will be.

hatch_weight = 1.0#
Type:

NumberSpec

A width value for line-strokes used in hatching.

class ImageProps(**properties: Any)[source]#

Properties relevant to rendering images.

Mirrors the BokehJS properties.ImageVector class.

global_alpha = 1.0#
Type:

AlphaSpec

An alpha value to use to images with.

Acceptable values are numbers in 0..1 range (transparent..opaque).

class LineProps(**properties: Any)[source]#

Properties relevant to rendering path operations.

Mirrors the BokehJS properties.LineVector class.

line_alpha = 1.0#
Type:

AlphaSpec

An alpha value to use to stroke paths with.

Acceptable values are numbers in 0..1 range (transparent..opaque).

line_cap = 'butt'#
Type:

LineCapSpec

How path segments should be terminated.

Acceptable values are:

  • 'butt' A  line segment with no end cap extending beyond the explicit end coordinate.

  • 'round' A  line segment with a rounded end cap extending beyond the explicit end coordinate.

  • 'square' A  line segment with a squared end cap extending beyond the explicit end coordinate.

line_color = 'black'#
Type:

ColorSpec

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)'

  • 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

  • a 32-bit unsiged integers using the 0xRRGGBBAA byte order pattern

line_dash = []#
Type:

DashPatternSpec

How should the line be dashed.

line_dash_offset = 0#
Type:

IntSpec

The distance into the line_dash (in pixels) that the pattern should start from.

line_join = 'bevel'#
Type:

LineJoinSpec

How path segments should be joined together.

Acceptable values are:

  • 'miter' Two line segments joined with a miter (sharp-angle) join style.

  • 'round' Two line segments joined with a round join style.

  • 'bevel' Two line segments joined with a bevel (truncated) join style.

line_width = 1#
Type:

NumberSpec

Stroke width in units of pixels.

class ScalarFillProps(**properties: Any)[source]#

Properties relevant to rendering fill regions.

Mirrors the BokehJS properties.Fill class.

fill_alpha = 1.0#
Type:

Alpha

An alpha value to use to fill paths with.

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

fill_color = 'gray'#
Type:

Nullable(Color)

A color to use to fill paths with.

class ScalarHatchProps(**properties: Any)[source]#

Properties relevant to rendering fill regions.

Mirrors the BokehJS properties.Hatch class.

hatch_alpha = 1.0#
Type:

Alpha

An alpha value to use to hatching with.

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

hatch_color = 'black'#
Type:

Nullable(Color)

A color to use to hatching with.

hatch_pattern = None#
Type:

Nullable(String)

Built-in patterns are can either be specified as long names:

blank, dot, ring, horizontal_line, vertical_line, cross, horizontal_dash, vertical_dash, spiral, right_diagonal_line, left_diagonal_line, diagonal_cross, right_diagonal_dash, left_diagonal_dash, horizontal_wave, vertical_wave, criss_cross

or as one-letter abbreviations:

‘ ‘, ‘.’, ‘o’, ‘-’, ‘|’, ‘+’, ‘”’, ‘:’, ‘@’, ‘/’, ‘\’, ‘x’, ‘,’, ‘`’, ‘v’, ‘>’, ‘*’

hatch_scale = 12.0#
Type:

Size

A rough measure of the ‘size’ of the hatching pattern. Generally speaking, the higher the number, the more spread out the pattern will be.

hatch_weight = 1.0#
Type:

Size

A width value for line-strokes used in hatching.

class ScalarImageProps(**properties: Any)[source]#

Properties relevant to rendering images.

Mirrors the BokehJS properties.Image class.

global_alpha = 1.0#
Type:

Alpha

An alpha value to use to images with.

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

class ScalarLineProps(**properties: Any)[source]#

Properties relevant to rendering path operations.

Mirrors the BokehJS properties.Line class.

line_alpha = 1.0#
Type:

Alpha

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_cap = 'butt'#
Type:

Enum(LineCap)

How path segments should be terminated.

Acceptable values are:

  • 'butt' A  line segment with no end cap extending beyond the explicit end coordinate.

  • 'round' A  line segment with a rounded end cap extending beyond the explicit end coordinate.

  • 'square' A  line segment with a squared end cap extending beyond the explicit end coordinate.

line_color = 'black'#
Type:

Nullable(Color)

A color to use to stroke paths with.

line_dash = []#
Type:

DashPattern

How should the line be dashed.

line_dash_offset = 0#
Type:

Int

The distance into the line_dash (in pixels) that the pattern should start from.

line_join = 'bevel'#
Type:

Enum(LineJoin)

How path segments should be joined together.

Acceptable values are:

  • 'miter' Two line segments joined with a miter (sharp-angle) join style.

  • 'round' Two line segments joined with a round join style.

  • 'bevel' Two line segments joined with a bevel (truncated) join style.

line_width = 1#
Type:

Float

Stroke width in units of pixels.

class ScalarTextProps(**properties: Any)[source]#

Properties relevant to rendering text.

Mirrors the BokehJS properties.Text class.

Note

There is currently only support for filling text. An interface to stroke the outlines of text has not yet been exposed.

text_align = 'left'#
Type:

Enum(TextAlign)

Horizontal anchor point to use when rendering text.

Acceptable values are:

  • 'left'

  • 'right'

  • 'center'

text_alpha = 1.0#
Type:

Alpha

An alpha value to use to fill text with.

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

text_baseline = 'bottom'#
Type:

Enum(TextBaseline)

Vertical anchor point to use when rendering text.

Acceptable values are:

  • 'top'

  • 'middle'

  • 'bottom'

  • 'alphabetic'

  • 'hanging'

  • 'ideographic'

text_color = '#444444'#
Type:

Nullable(Color)

A color to use to fill text with.

text_font = 'helvetica'#
Type:

String

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

text_font_style = 'normal'#
Type:

Enum(FontStyle)

A style to use for rendering text.

Acceptable values are:

  • 'normal' normal text

  • 'italic' italic text

  • 'bold' bold text

  • "bold italic" *bold italic text*

text_line_height = 1.2#
Type:

Float

In multi-line text, how much additional space should be allocated for each line. The value is provided as a number, but should be treated as a percentage of font size. The default is 120%. Setting it to 1.0, so 100%, means no additional space will be used.

text_outline_color = None#
Type:

Nullable(Color)

A color to use to outline text with.

class TextProps(**properties: Any)[source]#

Properties relevant to rendering text.

Mirrors the BokehJS properties.TextVector class.

Note

There is currently only support for filling text. An interface to stroke the outlines of text has not yet been exposed.

text_align = 'left'#
Type:

TextAlignSpec

Horizontal anchor point to use when rendering text.

Acceptable values are:

  • 'left'

  • 'right'

  • 'center'

text_alpha = 1.0#
Type:

AlphaSpec

An alpha value to use to fill text with.

Acceptable values are numbers in 0..1 range (transparent..opaque).

text_baseline = 'bottom'#
Type:

TextBaselineSpec

Vertical anchor point to use when rendering text.

Acceptable values are:

  • 'top'

  • 'middle'

  • 'bottom'

  • 'alphabetic'

  • 'hanging'

  • 'ideographic'

text_color = '#444444'#
Type:

ColorSpec

A color to use to fill text 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)'

  • 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

  • a 32-bit unsiged integers using the 0xRRGGBBAA byte order pattern

text_font = Value(value='helvetica', transform=Unspecified, units=Unspecified)#
Type:

StringSpec

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

text_font_style = 'normal'#
Type:

FontStyleSpec

A style to use for rendering text.

Acceptable values are:

  • 'normal' normal text

  • 'italic' italic text

  • 'bold' bold text

  • "bold italic" *bold italic text*

text_line_height = 1.2#
Type:

NumberSpec

In multi-line text, how much additional space should be allocated for each line. The value is provided as a number, but should be treated as a percentage of font size. The default is 120%. Setting it to 1.0, so 100%, means no additional space will be used.

text_outline_color = None#
Type:

ColorSpec

A color to use to outline text 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)'

  • 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

  • a 32-bit unsiged integers using the 0xRRGGBBAA byte order pattern