.base


class: NonIndicatorOptions

class NonIndicatorOptions(**kwargs)[source]

Base class for Stock Plot Options, with navigator options.

Class Inheritance
Inheritance diagram of NonIndicatorOptions

copy(other=None, overwrite=True, **kwargs)

Copy the configuration settings from this instance to the other instance.

Parameters:
  • other (HighchartsMeta) – The target instance to which the properties of this instance should be copied. If None, will create a new instance and populate it with properties copied from self. Defaults to None.

  • overwrite (bool) – if True, properties in other that are already set will be overwritten by their counterparts in self. Defaults to True.

  • kwargs – Additional keyword arguments. Some special descendents of HighchartsMeta may have special implementations of this method which rely on additional keyword arguments.

Returns:

A mutated version of other with new property values

classmethod from_dict(as_dict: dict, allow_snake_case: bool = True)

Construct an instance of the class from a dict object.

Parameters:
  • as_dict (dict) – A dict representation of the object.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python object representation of as_dict.

Return type:

HighchartsMeta

classmethod from_js_literal(as_str_or_file, allow_snake_case: bool = True, _break_loop_on_failure: bool = False)

Return a Python object representation of a Highcharts JavaScript object literal.

Parameters:
  • as_str_or_file (str) – The JavaScript object literal, represented either as a str or as a filename which contains the JS object literal.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

  • _break_loop_on_failure (bool) – If True, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults to False.

Returns:

A Python object representation of the Highcharts JavaScript object literal.

Return type:

HighchartsMeta

classmethod from_json(as_json_or_file, allow_snake_case: bool = True)

Construct an instance of the class from a JSON string.

Parameters:
  • as_json_or_file – The JSON string for the object or the filename of a file that contains the JSON string.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python objcet representation of as_json.

Return type:

HighchartsMeta

get_required_modules(include_extension=False) List[str]

Return the list of URLs from which the Highcharts JavaScript modules needed to render the chart can be retrieved.

Parameters:

include_extension (bool) – if True, will return script names with the '.js' extension included. Defaults to False.

Return type:

list of str

to_dict() dict

Generate a dict representation of the object compatible with the Highcharts JavaScript library.

Note

The dict representation has a property structure and naming convention that is intentionally consistent with the Highcharts JavaScript library. This is not Pythonic, but it makes managing the interplay between the two languages much, much simpler.

Returns:

A dict representation of the object.

Return type:

dict

to_js_literal(filename=None, encoding='utf-8', careful_validation=False) str | None

Return the object represented as a str containing the JavaScript object literal.

Parameters:
  • filename (Path-like) – The name of a file to which the JavaScript object literal should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

  • careful_validation – if True, will carefully validate JavaScript values

along the way using the esprima-python library. Defaults to False.

Warning

Setting this value to True will significantly degrade serialization performance, though it may prove useful for debugging purposes.

Return type:

str or None

to_json(filename=None, encoding='utf-8')

Generate a JSON string/byte string representation of the object compatible with the Highcharts JavaScript library.

Note

This method will either return a standard str or a bytes object depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be a bytes representation of the string.

Parameters:
  • filename (Path-like) – The name of a file to which the JSON string should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

Returns:

A JSON representation of the object compatible with the Highcharts library.

Return type:

str or bytes

static trim_dict(untrimmed: dict, to_json: bool = False, context: str = None) dict

Remove keys from untrimmed whose values are None and convert values that have .to_dict() methods.

Parameters:
  • untrimmed (dict) – The dict whose values may still be None or Python objects.

  • to_json (bool) – If True, will remove all keys from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Returns:

Trimmed dict

Return type:

dict

static trim_iterable(untrimmed, to_json=False, context: str = None)

Convert any EnforcedNullType values in untrimmed to 'null'.

Parameters:
  • untrimmed (iterable) – The iterable whose members may still be None or Python objects.

  • to_json (bool) – If True, will remove all members from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Return type:

iterable

property compare: str | None

Determines whether to display the 'percent' or the 'value' of the indicator’s comparison against the main series. Defaults to None, which does not calculate the comparison.

Accepts:

  • 'percent' - returns the percentage calculation for the indicator

  • 'value' - returns the axis value calculation for the indicator

Return type:

str or None

property compare_base: int | None

When .compare is set to 'percent', this option determines whether to use 0 or 100 as the basis of comparison. Defaults to 0.

Accepts:

  • 0

  • 100

Return type:

int or None

property compare_start: bool | None

If True, the first point in the visible range will be used for the comparative calculation, essentially starting from 0. If False, the comparison will be performed based on the data point immediately prior to the visible range. Defaults to False.

Return type:

bool or None

property cumulative: bool | None

If True, replaces points’ values with the following (logcical) formula:

sum of all previous visible points' values + current point's value

Caution

This calculation is only applied to points in the visible range.

If False, the point values remain unchanged and are presented as-is. Defaults to False.

Note

In JavaScript, each point object for the series will now have a new property - .cumulativeSum - available for use in formatter callback functions or format strings.

Return type:

bool or None

property data_as_columns: bool | None

If True, indicates that the data is structured as columns instead of as rows. Defaults to False.

Return type:

bool or None

property data_grouping: DataGroupingOptions | None

Data grouping configures sampling the data values into larger blocks in order to ease readability and increase performance of the JavaScript charts.

Highcharts Stock by default applies data grouping when the points become closer than the number of pixels specified by the .group_pixel_width setting.

Note

If data grouping is applied, the grouping information of grouped points can be read (in JavaScript) from Point.dataGroup.

Caution

If point options other than the data itself are set, for example name, color, or custom properties, the grouping logic will not know how to group it. In this case, the options of the first point instance are copied over to the group point. This can be altered through a custom approximation function.

property gap_size: int | float | Decimal | None

In combination with .gap_unit defines when to display a gap in the graph. Defaults to 0.

Note

If .data_grouping is enabled, points can be grouped into a larger time span. This can make the grouped points have a greater distance than the absolute value of the .gap_size property, which would result in data disappearing from view completely. To prevent this situation, the mentioned distance between grouped points is applied rather than the explicitly supplied .gap_size.

Tip

In practice, this option is most often used to visualize gaps in time series. In a stock chart, intraday data is available for daytime hours, while gaps will appear in nights and weekends.

Return type:

numeric or None

property gap_unit: str | None

In combination with .gap_size defines when to display a gap in the graph. Defaults to 'relative'.

Accepts two possible values:

  • 'relative' - determines the gap based on a multiple of .gap_size. For example, with a .gap_size of 5, if the distance between two points is greater than 5x the two closest points, a gap will be rendered.

  • 'value' - determines the gap based on the absolute axis values, which on a datetime axis are expressed in milliseconds.

Return type:

str or None

property last_price: LastPriceOptions | None

Configuration of a line marking the last price from all data points (whether visible or not). Defaults to None.

Return type:

LastPriceOptions or None

property last_visible_price: LastPriceOptions | None

Configuration of a line marking the last price from all visible data points. Defaults to None.

See also

Return type:

LastPriceOptions or None

property navigator_options: Navigator | None

Options for the corresponding navigator series if .show_in_navigator is True for this series. Defaults to None

Note

These options are merged with options in navigator.series, and will take precedence if the same option is defined both places.

Return type:

NavigatorOptions or None

property point_range: EnforcedNullType | int | float | Decimal | None

The X axis range that each point is valid for, which determines the width of the column. Defaults to EnforcedNull, which computes the range automatically.

On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.

The default EnforcedNull means it is computed automatically, but the setting can be used to override the default value.

Note

If data_sorting is enabled, the default value is implicitly adjusted to 1.

Return type:

numeric or EnforcedNullType or None

property show_in_navigator: bool | None

If True, shows the series in the navigator. Defaults to None.

Note

Takes precedence over Navigator.base_series if provided.

Return type:

bool or None


class: NavigatorIndicatorOptions

class NavigatorIndicatorOptions(**kwargs)[source]

Set of options to mix in when an indicator supports a presence in the Navigator.

Class Inheritance
Inheritance diagram of NavigatorIndicatorOptions

copy(other=None, overwrite=True, **kwargs)

Copy the configuration settings from this instance to the other instance.

Parameters:
  • other (HighchartsMeta) – The target instance to which the properties of this instance should be copied. If None, will create a new instance and populate it with properties copied from self. Defaults to None.

  • overwrite (bool) – if True, properties in other that are already set will be overwritten by their counterparts in self. Defaults to True.

  • kwargs – Additional keyword arguments. Some special descendents of HighchartsMeta may have special implementations of this method which rely on additional keyword arguments.

Returns:

A mutated version of other with new property values

classmethod from_dict(as_dict: dict, allow_snake_case: bool = True)

Construct an instance of the class from a dict object.

Parameters:
  • as_dict (dict) – A dict representation of the object.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python object representation of as_dict.

Return type:

HighchartsMeta

classmethod from_js_literal(as_str_or_file, allow_snake_case: bool = True, _break_loop_on_failure: bool = False)

Return a Python object representation of a Highcharts JavaScript object literal.

Parameters:
  • as_str_or_file (str) – The JavaScript object literal, represented either as a str or as a filename which contains the JS object literal.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

  • _break_loop_on_failure (bool) – If True, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults to False.

Returns:

A Python object representation of the Highcharts JavaScript object literal.

Return type:

HighchartsMeta

classmethod from_json(as_json_or_file, allow_snake_case: bool = True)

Construct an instance of the class from a JSON string.

Parameters:
  • as_json_or_file – The JSON string for the object or the filename of a file that contains the JSON string.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python objcet representation of as_json.

Return type:

HighchartsMeta

get_required_modules(include_extension=False) List[str]

Return the list of URLs from which the Highcharts JavaScript modules needed to render the chart can be retrieved.

Parameters:

include_extension (bool) – if True, will return script names with the '.js' extension included. Defaults to False.

Return type:

list of str

to_dict() dict

Generate a dict representation of the object compatible with the Highcharts JavaScript library.

Note

The dict representation has a property structure and naming convention that is intentionally consistent with the Highcharts JavaScript library. This is not Pythonic, but it makes managing the interplay between the two languages much, much simpler.

Returns:

A dict representation of the object.

Return type:

dict

to_js_literal(filename=None, encoding='utf-8', careful_validation=False) str | None

Return the object represented as a str containing the JavaScript object literal.

Parameters:
  • filename (Path-like) – The name of a file to which the JavaScript object literal should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

  • careful_validation – if True, will carefully validate JavaScript values

along the way using the esprima-python library. Defaults to False.

Warning

Setting this value to True will significantly degrade serialization performance, though it may prove useful for debugging purposes.

Return type:

str or None

to_json(filename=None, encoding='utf-8')

Generate a JSON string/byte string representation of the object compatible with the Highcharts JavaScript library.

Note

This method will either return a standard str or a bytes object depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be a bytes representation of the string.

Parameters:
  • filename (Path-like) – The name of a file to which the JSON string should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

Returns:

A JSON representation of the object compatible with the Highcharts library.

Return type:

str or bytes

static trim_dict(untrimmed: dict, to_json: bool = False, context: str = None) dict

Remove keys from untrimmed whose values are None and convert values that have .to_dict() methods.

Parameters:
  • untrimmed (dict) – The dict whose values may still be None or Python objects.

  • to_json (bool) – If True, will remove all keys from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Returns:

Trimmed dict

Return type:

dict

static trim_iterable(untrimmed, to_json=False, context: str = None)

Convert any EnforcedNullType values in untrimmed to 'null'.

Parameters:
  • untrimmed (iterable) – The iterable whose members may still be None or Python objects.

  • to_json (bool) – If True, will remove all members from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Return type:

iterable

property navigator_options: Navigator | None

Options for the corresponding navigator series if .show_in_navigator is True for this series. Defaults to None

Note

These options are merged with options in navigator.series, and will take precedence if the same option is defined both places.

Return type:

NavigatorOptions or None

property show_in_navigator: bool | None

If True, shows the series in the navigator. Defaults to None.

Note

Takes precedence over Navigator.base_series if provided.

Return type:

bool or None


class: StockBaseOptions

class StockBaseOptions(**kwargs)[source]

Base class for Stock Plot Options.

Class Inheritance
Inheritance diagram of StockBaseOptions

copy(other=None, overwrite=True, **kwargs)

Copy the configuration settings from this instance to the other instance.

Parameters:
  • other (HighchartsMeta) – The target instance to which the properties of this instance should be copied. If None, will create a new instance and populate it with properties copied from self. Defaults to None.

  • overwrite (bool) – if True, properties in other that are already set will be overwritten by their counterparts in self. Defaults to True.

  • kwargs – Additional keyword arguments. Some special descendents of HighchartsMeta may have special implementations of this method which rely on additional keyword arguments.

Returns:

A mutated version of other with new property values

classmethod from_dict(as_dict: dict, allow_snake_case: bool = True)

Construct an instance of the class from a dict object.

Parameters:
  • as_dict (dict) – A dict representation of the object.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python object representation of as_dict.

Return type:

HighchartsMeta

classmethod from_js_literal(as_str_or_file, allow_snake_case: bool = True, _break_loop_on_failure: bool = False)

Return a Python object representation of a Highcharts JavaScript object literal.

Parameters:
  • as_str_or_file (str) – The JavaScript object literal, represented either as a str or as a filename which contains the JS object literal.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

  • _break_loop_on_failure (bool) – If True, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults to False.

Returns:

A Python object representation of the Highcharts JavaScript object literal.

Return type:

HighchartsMeta

classmethod from_json(as_json_or_file, allow_snake_case: bool = True)

Construct an instance of the class from a JSON string.

Parameters:
  • as_json_or_file – The JSON string for the object or the filename of a file that contains the JSON string.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python objcet representation of as_json.

Return type:

HighchartsMeta

get_required_modules(include_extension=False) List[str]

Return the list of URLs from which the Highcharts JavaScript modules needed to render the chart can be retrieved.

Parameters:

include_extension (bool) – if True, will return script names with the '.js' extension included. Defaults to False.

Return type:

list of str

to_dict() dict

Generate a dict representation of the object compatible with the Highcharts JavaScript library.

Note

The dict representation has a property structure and naming convention that is intentionally consistent with the Highcharts JavaScript library. This is not Pythonic, but it makes managing the interplay between the two languages much, much simpler.

Returns:

A dict representation of the object.

Return type:

dict

to_js_literal(filename=None, encoding='utf-8', careful_validation=False) str | None

Return the object represented as a str containing the JavaScript object literal.

Parameters:
  • filename (Path-like) – The name of a file to which the JavaScript object literal should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

  • careful_validation – if True, will carefully validate JavaScript values

along the way using the esprima-python library. Defaults to False.

Warning

Setting this value to True will significantly degrade serialization performance, though it may prove useful for debugging purposes.

Return type:

str or None

to_json(filename=None, encoding='utf-8')

Generate a JSON string/byte string representation of the object compatible with the Highcharts JavaScript library.

Note

This method will either return a standard str or a bytes object depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be a bytes representation of the string.

Parameters:
  • filename (Path-like) – The name of a file to which the JSON string should be persisted. Defaults to None

  • encoding (str) – The character encoding to apply to the resulting object. Defaults to 'utf-8'.

Returns:

A JSON representation of the object compatible with the Highcharts library.

Return type:

str or bytes

static trim_dict(untrimmed: dict, to_json: bool = False, context: str = None) dict

Remove keys from untrimmed whose values are None and convert values that have .to_dict() methods.

Parameters:
  • untrimmed (dict) – The dict whose values may still be None or Python objects.

  • to_json (bool) – If True, will remove all keys from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Returns:

Trimmed dict

Return type:

dict

static trim_iterable(untrimmed, to_json=False, context: str = None)

Convert any EnforcedNullType values in untrimmed to 'null'.

Parameters:
  • untrimmed (iterable) – The iterable whose members may still be None or Python objects.

  • to_json (bool) – If True, will remove all members from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – If provided, will inform the method of the context in which it is being run which may inform special handling cases (e.g. where empty strings may be important / allowable). Defaults to None.

Return type:

iterable

property compare_start: bool | None

If True, the first point in the visible range will be used for the comparative calculation, essentially starting from 0. If False, the comparison will be performed based on the data point immediately prior to the visible range. Defaults to False.

Return type:

bool or None

property cumulative: bool | None

If True, replaces points’ values with the following (logcical) formula:

sum of all previous visible points' values + current point's value

Caution

This calculation is only applied to points in the visible range.

If False, the point values remain unchanged and are presented as-is. Defaults to False.

Note

In JavaScript, each point object for the series will now have a new property - .cumulativeSum - available for use in formatter callback functions or format strings.

Return type:

bool or None

property data_as_columns: bool | None

If True, indicates that the data is structured as columns instead of as rows. Defaults to False.

Return type:

bool or None

property data_grouping: DataGroupingOptions | None

Data grouping configures sampling the data values into larger blocks in order to ease readability and increase performance of the JavaScript charts.

Highcharts Stock by default applies data grouping when the points become closer than the number of pixels specified by the .group_pixel_width setting.

Note

If data grouping is applied, the grouping information of grouped points can be read (in JavaScript) from Point.dataGroup.

Caution

If point options other than the data itself are set, for example name, color, or custom properties, the grouping logic will not know how to group it. In this case, the options of the first point instance are copied over to the group point. This can be altered through a custom approximation function.

property gap_size: int | float | Decimal | None

In combination with .gap_unit defines when to display a gap in the graph. Defaults to 0.

Note

If .data_grouping is enabled, points can be grouped into a larger time span. This can make the grouped points have a greater distance than the absolute value of the .gap_size property, which would result in data disappearing from view completely. To prevent this situation, the mentioned distance between grouped points is applied rather than the explicitly supplied .gap_size.

Tip

In practice, this option is most often used to visualize gaps in time series. In a stock chart, intraday data is available for daytime hours, while gaps will appear in nights and weekends.

Return type:

numeric or None

property gap_unit: str | None

In combination with .gap_size defines when to display a gap in the graph. Defaults to 'relative'.

Accepts two possible values:

  • 'relative' - determines the gap based on a multiple of .gap_size. For example, with a .gap_size of 5, if the distance between two points is greater than 5x the two closest points, a gap will be rendered.

  • 'value' - determines the gap based on the absolute axis values, which on a datetime axis are expressed in milliseconds.

Return type:

str or None

property last_price: LastPriceOptions | None

Configuration of a line marking the last price from all data points (whether visible or not). Defaults to None.

Return type:

LastPriceOptions or None

property last_visible_price: LastPriceOptions | None

Configuration of a line marking the last price from all visible data points. Defaults to None.

See also

Return type:

LastPriceOptions or None