Anaconda Enterprise: Documentation

# bokeh.themes

Provides API for loading themes

## bokeh.themes.theme

Provide a `Theme` class for specifying new default values for Bokeh `Model` properties.

class `bokeh.themes.theme.``Theme`(filename=None, json=None)

  Provide new default values for Bokeh models.

  Bokeh Model properties all have some built-in default value. If a property has not been explicitly set (e.g. `m.foo = 10`) then accessing the property with return the default value. It may be useful for users to be able to specify a different set of default values than the built-in default. The `Theme` class allows collections of custom default values to be easily applied to Bokeh documents.

  The `Theme` class can be constructed either from a YAML file or from a JSON dict (but not both). The data should have a top level `attrs` key, followed by

  Examples of both formats are shown below.

  Parameters:

  - filename (str, optional) – path to a YAML theme file
  - json (str, optional) – a JSON dictionary specifying theme values

  Raises: | `ValueError` – If neither `filename` or `json` is supplied.

  Examples

  Themes are specified by providing a top-level key `attrs` which has blocks for Model types to be themed. Each block has keys and values that specify the new property defaults for that type.

  Here is an example theme in YAML format that sets various visual properties for all figures, grids, and titles:

      attrs:
          Figure:
              background_fill_color: '#2F2F2F'
              border_fill_color: '#2F2F2F'
              outline_line_color: '#444444'
          Grid:
              grid_line_dash: [6, 4]
              grid_line_alpha: .3
          Title:
              text_color: "white"

  Here is the same theme, in JSON format:

      {
      'attrs' : {
          'Figure' : {
              'background_fill_color': '#2F2F2F',
              'border_fill_color': '#2F2F2F',
              'outline_line_color': '#444444',
          },
          'Grid': {
              'grid_line_dash': [6, 4]',
              'grid_line_alpha': .3,
          },
          'Title': {
              'text_color': 'white'
          }
      }

  `apply_to_model`(model)

    Apply this theme to a model.

    Warning

    Typically, don’t call this method directly. Instead, set the theme on the `Document` the model is a part of.