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 bokeh-model directive, 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 floating-point numbers between 0 and 1 (0 being transparent and 1 being 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)', 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

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 floating-point numbers between 0 and 1 (0 being transparent and 1 being 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)', 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

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 floating-point numbers between 0 and 1 (0 being transparent and 1 being 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 floating-point numbers between 0 and 1 (0 being transparent and 1 being 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)', 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

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.

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.

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 floating-point numbers between 0 and 1 (0 being transparent and 1 being 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)', 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

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