.geometric


class: GeometricData

class GeometricData(**kwargs)[source]

Data point that can be represented on a map visualization.

Class Inheritance
Inheritance diagram of GeometricData

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_array(value)[source]

Creates a collection of data point instances, parsing the contents of value as an array (iterable). This method is specifically used to parse data that is input to Highcharts for Python without property names, in an array-organized structure as described in the Highcharts JS documentation.

See also

The specific structure of the expected array is highly dependent on the type of data point that the series needs, which itself is dependent on the series type itself.

Please review the detailed series documentation for series type-specific details of relevant array structures.

Note

An example of how this works for a simple LineSeries (which uses CartesianData data points) would be:

my_series = LineSeries()

# A simple array of numerical values which correspond to the Y value of the
# data point
my_series.data = [0, 5, 3, 5]

# An array containing 2-member arrays (corresponding to the X and Y values
# of the data point)
my_series.data = [
    [0, 0],
    [1, 5],
    [2, 3],
    [3, 5]
]

# An array of dict with named values
my_series.data = [
  {
      'x': 0,
      'y': 0,
      'name': 'Point1',
      'color': '#00FF00'
  },
  {
      'x': 1,
      'y': 5,
      'name': 'Point2',
      'color': '#CCC'
  },
  {
      'x': 2,
      'y': 3,
      'name': 'Point3',
      'color': '#999'
  },
  {
      'x': 3,
      'y': 5,
      'name': 'Point4',
      'color': '#000'
  }
]
Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point instances.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

Returns:

Collection of data point instances (descended from DataBase)

Return type:

list of GeometricDataBase descendant instances or GeometricDataCollection

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

classmethod from_ndarray(value)[source]

Creates a collection of data points from a NumPy ndarray instance.

Returns:

A collection of data point values.

Return type:

DataPointCollection

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

populate_from_array(value)[source]

Update the data point’s properties with values provided by an array (iterable).

This method is used to parse data that is input to Highcharts for Python without property names, in an array-organized structure as described in the Highcharts JS documentation.

See also

The specific structure of the expected array is highly dependent on the type of data point that the series needs, which itself is dependent on the series type itself.

Please review the detailed series documentation for series type-specific details of relevant array structures.

Note

An example of how this works for a simple LineSeries (which uses CartesianData data points) would be:

my_data_point = CartesianData()

# A simple array of numerical values which correspond to the Y value of the
# data point
my_data_point.populate_from_array([0, 0])
my_data_point.populate_from_array([1, 5])
my_data_point.populate_from_array([2, 3])
my_data_point.populate_from_array([3, 5])
Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point property values.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

to_array(force_object=False) List | Dict[source]

Generate the array representation of the data point (the inversion of .from_array()).

Warning

If the data point cannot be serialized to a JavaScript array, this method will instead return the untrimmed dict representation of the data point as a fallback.

Parameters:

force_object (bool) – if True, forces the return of the instance’s untrimmed dict representation. Defaults to False.

Returns:

The array representation of the data point.

Return type:

list of values or dict

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 color: str | Gradient | Pattern | None

The color of the individual data point. Defaults to None.

Return type:

None, Gradient, Pattern, or str

property data_labels: DataLabel | List[DataLabel] | None

Individual data label for the data point.

Note

To have multiple data labels per data point, you can also supply a collection of DataLabel configuration settings.

Return type:

DataLabel, list of DataLabel, or None

property drilldown: str | None

The id of a series in the drilldown.series array to use as a drilldown destination for this point. Defaults to None.

Return type:

str or None

property events: PointEvents | None

Event handlers for individual data points.

Return type:

PointEvents or None

property geometry: Feature | None

The geometry associated with a data point, expressed as a GeoJSON Feature. Defaults to None.

Tip

Best practice!

To make your code easier to maintain through better separation between your visualization’s structure (e.g. the rendered map) and the data visualized within that structure, it is recommended to leave .geometry empty and to use the series’ .map_data property to define the map’s geometry.

Return type:

Feature

property id: str | None

The id of the data point. Defaults to None.

Note

This can be used (in JavaScript) after render time to get a pointer to the point object through chart.get().

Return type:

str or None

property label_rank: int | float | Decimal | None

The rank for this point’s data label in the case of collision. Defaults to None.

Note

If two data labels are about to overlap, the data label for the point with the highest label_rank will be shown.

Return type:

numeric or None

property middle_x: int | float | Decimal | None

The horizontal mid-point of the map area corresponding to the data point (used to place the data label), expressed as a numerical value between 0 and 1. Defaults to 0.5.

Return type:

numeric or None

property middle_y: int | float | Decimal | None

The vertical mid-point of the map area corresponding to the data point (used to place the data label), expressed as a numerical value between 0 and 1. Defaults to 0.5.

Return type:

numeric or None

property name: str | None

The name to display for the point in data labels, tooltips, in legends, etc. Defaults to None.

Return type:

str or None

property path: str | None

The SVG path of the shape associated with the data point. Defaults to None.

Tip

Best practice!

To make your code easier to maintain through better separation between your visualization’s structure (e.g. the rendered map) and the data visualized within that structure, it is recommended to leave .geometry empty and to use the series’ .map_data property to define the map’s geometry.

Caution

For compatibily with old IE, not all SVG path definitions are supported, but M, L, and C operators are supported.

Return type:

str or None

property properties: dict | None

Collection of properties associated with the geometric data point.

Return type:

dict or None

property requires_js_object: bool

Indicates whether or not the data point must be serialized to a JS literal object or whether it can be serialized to a primitive array.

Returns:

True if the data point must be serialized to a JS literal object. False if it can be serialized to an array.

Return type:

bool

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

The value of the data point. Defaults to None.

Return type:

numeric or EnforcedNullType or None


class: GeometricZData

class GeometricZData(**kwargs)[source]

Data point that can be represented on a MapBubbleSeries featuring a z value.

Class Inheritance
Inheritance diagram of GeometricZData

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_array(value)

Creates a collection of data point instances, parsing the contents of value as an array (iterable). This method is specifically used to parse data that is input to Highcharts for Python without property names, in an array-organized structure as described in the Highcharts JS documentation.

See also

The specific structure of the expected array is highly dependent on the type of data point that the series needs, which itself is dependent on the series type itself.

Please review the detailed series documentation for series type-specific details of relevant array structures.

Note

An example of how this works for a simple LineSeries (which uses CartesianData data points) would be:

my_series = LineSeries()

# A simple array of numerical values which correspond to the Y value of the
# data point
my_series.data = [0, 5, 3, 5]

# An array containing 2-member arrays (corresponding to the X and Y values
# of the data point)
my_series.data = [
    [0, 0],
    [1, 5],
    [2, 3],
    [3, 5]
]

# An array of dict with named values
my_series.data = [
  {
      'x': 0,
      'y': 0,
      'name': 'Point1',
      'color': '#00FF00'
  },
  {
      'x': 1,
      'y': 5,
      'name': 'Point2',
      'color': '#CCC'
  },
  {
      'x': 2,
      'y': 3,
      'name': 'Point3',
      'color': '#999'
  },
  {
      'x': 3,
      'y': 5,
      'name': 'Point4',
      'color': '#000'
  }
]
Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point instances.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

Returns:

Collection of data point instances (descended from DataBase)

Return type:

list of GeometricDataBase descendant instances or GeometricDataCollection

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

classmethod from_ndarray(value)[source]

Creates a collection of data points from a NumPy ndarray instance.

Returns:

A collection of data point values.

Return type:

DataPointCollection

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 color: str | Gradient | Pattern | None

The color of the individual data point. Defaults to None.

Return type:

None, Gradient, Pattern, or str

property data_labels: DataLabel | List[DataLabel] | None

Individual data label for the data point.

Note

To have multiple data labels per data point, you can also supply a collection of DataLabel configuration settings.

Return type:

DataLabel, list of DataLabel, or None

property drilldown: str | None

The id of a series in the drilldown.series array to use as a drilldown destination for this point. Defaults to None.

Return type:

str or None

property events: PointEvents | None

Event handlers for individual data points.

Return type:

PointEvents or None

property geometry: Feature | None

The geometry associated with a data point, expressed as a GeoJSON Feature. Defaults to None.

Tip

Best practice!

To make your code easier to maintain through better separation between your visualization’s structure (e.g. the rendered map) and the data visualized within that structure, it is recommended to leave .geometry empty and to use the series’ .map_data property to define the map’s geometry.

Return type:

Feature

property id: str | None

The id of the data point. Defaults to None.

Note

This can be used (in JavaScript) after render time to get a pointer to the point object through chart.get().

Return type:

str or None

property label_rank: int | float | Decimal | None

The rank for this point’s data label in the case of collision. Defaults to None.

Note

If two data labels are about to overlap, the data label for the point with the highest label_rank will be shown.

Return type:

numeric or None

property name: str | None

The name to display for the point in data labels, tooltips, in legends, etc. Defaults to None.

Return type:

str or None

property properties: dict | None

Collection of properties associated with the geometric data point.

Return type:

dict or None

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

The value of the data point. Defaults to None.

Return type:

numeric or EnforcedNullType or None


class: GeometricLatLonData

class GeometricLatLonData(**kwargs)[source]

Data point that can be represented on a MapPointSeries featuring latitude/longitude coordinates, an x-value, and a y-value.

Class Inheritance
Inheritance diagram of GeometricLatLonData

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_array(value)

Creates a collection of data point instances, parsing the contents of value as an array (iterable). This method is specifically used to parse data that is input to Highcharts for Python without property names, in an array-organized structure as described in the Highcharts JS documentation.

See also

The specific structure of the expected array is highly dependent on the type of data point that the series needs, which itself is dependent on the series type itself.

Please review the detailed series documentation for series type-specific details of relevant array structures.

Note

An example of how this works for a simple LineSeries (which uses CartesianData data points) would be:

my_series = LineSeries()

# A simple array of numerical values which correspond to the Y value of the
# data point
my_series.data = [0, 5, 3, 5]

# An array containing 2-member arrays (corresponding to the X and Y values
# of the data point)
my_series.data = [
    [0, 0],
    [1, 5],
    [2, 3],
    [3, 5]
]

# An array of dict with named values
my_series.data = [
  {
      'x': 0,
      'y': 0,
      'name': 'Point1',
      'color': '#00FF00'
  },
  {
      'x': 1,
      'y': 5,
      'name': 'Point2',
      'color': '#CCC'
  },
  {
      'x': 2,
      'y': 3,
      'name': 'Point3',
      'color': '#999'
  },
  {
      'x': 3,
      'y': 5,
      'name': 'Point4',
      'color': '#000'
  }
]
Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point instances.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

Returns:

Collection of data point instances (descended from DataBase)

Return type:

list of GeometricDataBase descendant instances or GeometricDataCollection

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

classmethod from_ndarray(value)[source]

Creates a collection of data points from a NumPy ndarray instance.

Returns:

A collection of data point values.

Return type:

DataPointCollection

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 color: str | Gradient | Pattern | None

The color of the individual data point. Defaults to None.

Return type:

None, Gradient, Pattern, or str

property data_labels: DataLabel | List[DataLabel] | None

Individual data label for the data point.

Note

To have multiple data labels per data point, you can also supply a collection of DataLabel configuration settings.

Return type:

DataLabel, list of DataLabel, or None

property drilldown: str | None

The id of a series in the drilldown.series array to use as a drilldown destination for this point. Defaults to None.

Return type:

str or None

property events: PointEvents | None

Event handlers for individual data points.

Return type:

PointEvents or None

property geometry: Feature | None

The geometry associated with a data point, expressed as a GeoJSON Feature. Defaults to None.

Tip

Best practice!

To make your code easier to maintain through better separation between your visualization’s structure (e.g. the rendered map) and the data visualized within that structure, it is recommended to leave .geometry empty and to use the series’ .map_data property to define the map’s geometry.

Return type:

Feature

property id: str | None

The id of the data point. Defaults to None.

Note

This can be used (in JavaScript) after render time to get a pointer to the point object through chart.get().

Return type:

str or None

property label_rank: int | float | Decimal | None

The rank for this point’s data label in the case of collision. Defaults to None.

Note

If two data labels are about to overlap, the data label for the point with the highest label_rank will be shown.

Return type:

numeric or None

property lat: int | float | Decimal | None

The latitude of the data point. Defaults to None.

Warning

Must be combined with the .lon to work as expected.

..warning:

Overrides the
:meth:`.x <highcharts_maps.options.series.data.geometric.GeometricLatLonData.x>`
value if set.
Return type:

numeric or None

property lon: int | float | Decimal | None

The longitude of the data point. Defaults to None.

Warning

Must be combined with the .lat to work as expected.

Warning

Overrides the .y value if set.

Return type:

numeric or None

property name: str | None

The name to display for the point in data labels, tooltips, in legends, etc. Defaults to None.

Return type:

str or None

property properties: dict | None

Collection of properties associated with the geometric data point.

Return type:

dict or None

property x: int | float | Decimal | None

The x-coordinate of the data point, expressed in projected units. Defaults to None.

Rytpe:

numeric or None

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

The y-coordinate of the data point, expressed in projected units. Defaults to None.

Return type:

numeric or EnforcedNullType or None


class: GeometricDataBase

class GeometricDataBase(**kwargs)[source]

Base class for representing geometric data on map charts.

Class Inheritance
Inheritance diagram of GeometricDataBase

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_array(value)[source]

Creates a collection of data point instances, parsing the contents of value as an array (iterable). This method is specifically used to parse data that is input to Highcharts for Python without property names, in an array-organized structure as described in the Highcharts JS documentation.

See also

The specific structure of the expected array is highly dependent on the type of data point that the series needs, which itself is dependent on the series type itself.

Please review the detailed series documentation for series type-specific details of relevant array structures.

Note

An example of how this works for a simple LineSeries (which uses CartesianData data points) would be:

my_series = LineSeries()

# A simple array of numerical values which correspond to the Y value of the
# data point
my_series.data = [0, 5, 3, 5]

# An array containing 2-member arrays (corresponding to the X and Y values
# of the data point)
my_series.data = [
    [0, 0],
    [1, 5],
    [2, 3],
    [3, 5]
]

# An array of dict with named values
my_series.data = [
  {
      'x': 0,
      'y': 0,
      'name': 'Point1',
      'color': '#00FF00'
  },
  {
      'x': 1,
      'y': 5,
      'name': 'Point2',
      'color': '#CCC'
  },
  {
      'x': 2,
      'y': 3,
      'name': 'Point3',
      'color': '#999'
  },
  {
      'x': 3,
      'y': 5,
      'name': 'Point4',
      'color': '#000'
  }
]
Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point instances.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

Returns:

Collection of data point instances (descended from DataBase)

Return type:

list of GeometricDataBase descendant instances or GeometricDataCollection

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 color: str | Gradient | Pattern | None

The color of the individual data point. Defaults to None.

Return type:

None, Gradient, Pattern, or str

property data_labels: DataLabel | List[DataLabel] | None

Individual data label for the data point.

Note

To have multiple data labels per data point, you can also supply a collection of DataLabel configuration settings.

Return type:

DataLabel, list of DataLabel, or None

property drilldown: str | None

The id of a series in the drilldown.series array to use as a drilldown destination for this point. Defaults to None.

Return type:

str or None

property events: PointEvents | None

Event handlers for individual data points.

Return type:

PointEvents or None

property geometry: Feature | None

The geometry associated with a data point, expressed as a GeoJSON Feature. Defaults to None.

Tip

Best practice!

To make your code easier to maintain through better separation between your visualization’s structure (e.g. the rendered map) and the data visualized within that structure, it is recommended to leave .geometry empty and to use the series’ .map_data property to define the map’s geometry.

Return type:

Feature

property id: str | None

The id of the data point. Defaults to None.

Note

This can be used (in JavaScript) after render time to get a pointer to the point object through chart.get().

Return type:

str or None

property label_rank: int | float | Decimal | None

The rank for this point’s data label in the case of collision. Defaults to None.

Note

If two data labels are about to overlap, the data label for the point with the highest label_rank will be shown.

Return type:

numeric or None

property name: str | None

The name to display for the point in data labels, tooltips, in legends, etc. Defaults to None.

Return type:

str or None

property properties: dict | None

Collection of properties associated with the geometric data point.

Return type:

dict or None