.zooming


class: ZoomingOptions

class ZoomingOptions(**kwargs)[source]

Chart zooming configuration.

Class Inheritance
Inheritance diagram of ZoomingOptions

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

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

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

Returns:

Trimmed dict

Return type:

dict

static trim_iterable(untrimmed, to_json=False)

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.

Return type:

iterable

property key: str | None

Sets a key to hold when dragging to zoom the chart.

Hint

This is useful to avoid zooming while moving points.

Hint

This should be set to a different key than ChartOptions.pan_key.

Accepts the following values:

  • 'alt'

  • 'ctrl'

  • 'meta' (the command key on Mac and Windows key on Windows)

  • 'shift'.

The keys are mapped directly to the key properties of the click event argument (event.altKey, event.ctrlKey, event.metaKey, and event.shiftKey).

Return type:

str or None

property mouse_wheel: bool | MouseWheelOptions | None

Configuration of how users can use the mouse wheel to control zooming within the chart.

Note

Zooming via the mouse wheel is enabled by default. To disable, set this option to False.

Note

Zooming via the mouse wheel is a feature included in Highcharts Stock, but is also available in Highcharts Core by loading modules/mouse-wheel-zoom.js.

Return type:

bool

property pinch_type: str | None

Equivalent to .type but for multi-touch gestures only. Defaults to 'x'.

Accepts:

If not specified explicitly, the pinch type is the same as the .type. However, pinching can be enabled separately in some cases, for example in stock charts where a mouse drag pans the chart, while pinching is enabled. When Tooltip.follow_touch_move() is True, pinch type only applies to two-finger touches.

Returns:

The configuration of the pinch directional support.

Return type:

str or None

property reset_button: ResetZoomButtonOptions | None

Configuration settings for the button that appears after a selection zoom, allowing the user to reset zoom.

Return type:

ResetZoomButtonOptions or None

property single_touch: bool | None

If True, enables zooming with a single touch (in combination with .type) while two-finger pinch will still work as per .pinch_type. Defaults to False.

Warning

Enabling zoom by single touch will interfere with touch-dragging the chart to read the tooltip, and if vertical zooming is enabled will make it hard to scroll vertically on the page.

Return type:

bool or None

property type: str | None

Determines in which dimensions the user can zoom by dragging the mouse. By default, not set.

Accepts:

Return type:

str or None