.collections
class: DataPointCollection
- class DataPointCollection(**kwargs)[source]
Collection of data points.
This class stores numerical values that Highcharts can interpret from a primitive array in a
numpy.ndarray(in the.ndarrayproperty) and non-numerical data point properties as Highcharts for PythonDataBase-descended objects (in the.data_pointsproperty).Note
When serializing to JS literals, if possible, the collection is serialized to a primitive array to boost performance within Python and JavaScript. However, this may not always be possible if data points have non-array-compliant properties configured (e.g. adjusting their style, names, identifiers, etc.). If serializing to a primitive array is not possible, the results are serialized as JS literal objects.
Class Inheritance

- copy(other=None, overwrite=True, **kwargs)
Copy the configuration settings from this instance to the
otherinstance.- Parameters:
other (
HighchartsMeta) – The target instance to which the properties of this instance should be copied. IfNone, will create a new instance and populate it with properties copied fromself. Defaults toNone.overwrite (
bool) – ifTrue, properties inotherthat are already set will be overwritten by their counterparts inself. Defaults toTrue.kwargs – Additional keyword arguments. Some special descendents of
HighchartsMetamay have special implementations of this method which rely on additional keyword arguments.
- Returns:
A mutated version of
otherwith new property values
- classmethod from_array(value)[source]
Creates a
DataPointCollectioninstance from an array of values.- Parameters:
value (iterable or
numpy.ndarray) – The value that should contain the data which will be converted into data point instances.- Returns:
A single-object collection of data points.
- Return type:
- Raises:
HighchartsDependencyError – if NumPy is not installed
- classmethod from_dict(as_dict: dict, allow_snake_case: bool = True)
Construct an instance of the class from a
dictobject.
- 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 astror as a filename which contains the JS object literal.allow_snake_case (
bool) – IfTrue, interpretssnake_casekeys as equivalent tocamelCasekeys. Defaults toTrue._break_loop_on_failure (
bool) – IfTrue, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults toFalse.
- 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) – IfTrue, interpretssnake_casekeys as equivalent tocamelCasekeys. Defaults toTrue.
- Returns:
A Python objcet representation of
as_json.- Return type:
HighchartsMeta
- classmethod from_ndarray(value)[source]
Creates a
DataPointCollectioninstance from an array of values.- Parameters:
value (
numpy.ndarray) – The value that should contain the data which will be converted into data point instances.- Returns:
A single-object collection of data points.
- Return type:
- Raises:
HighchartsDependencyError – if NumPy is not installed
- 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.
- to_array(force_object=False, force_ndarray=False) List[source]
Generate the array representation of the data points (the inversion of
.from_array()).Warning
If any data points cannot be serialized to a JavaScript array, this method will instead return the untrimmed
dictrepresentation of the data points as a fallback.- Parameters:
force_object (
bool) –if
True, forces the return of the instance’s untrimmeddictrepresentation. Defaults toFalse.Warning
Values in
.ndarrayare ignored within this operation in favor of data points stored in.data_points.However, if there are no data points in
.data_pointsthen data point objects will be assembled based on.ndarray.force_ndarray (
bool) –if
True, forces the return of the instance’s data points as anumpy.ndarray. Defaults toFalse.Warning
Properties of any
.data_pointsare ignored within this operation if.ndarrayis populated.However, if
.ndarrayis not populated, then anumpy.ndarraywill be assembled from values in.data_points(ignoring properties that Highcharts (JS) cannot interpret as a primitive array).
- Raises:
HighchartsValueError – if both force_object and force_ndarray are
True- Returns:
The array representation of the data point collection.
- Return type:
- to_dict() dict
Generate a
dictrepresentation of the object compatible with the Highcharts JavaScript library.Note
The
dictrepresentation 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.
- to_js_literal(filename=None, encoding='utf-8', careful_validation=False) str | None[source]
Return the object represented as a
strcontaining the JavaScript object literal.- Parameters:
along the way using the esprima-python library. Defaults to
False.Warning
Setting this value to
Truewill significantly degrade serialization performance, though it may prove useful for debugging purposes.
- to_json(filename=None, encoding='utf-8', for_export: bool = False)
Generate a JSON string/byte string representation of the object compatible with the Highcharts JavaScript library.
Note
This method will either return a standard
stror abytesobject depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be abytesrepresentation of the string.- Parameters:
filename (Path-like) – The name of a file to which the JSON string should be persisted. Defaults to
Noneencoding (
str) – The character encoding to apply to the resulting object. Defaults to'utf-8'.for_export (
bool) – IfTrue, indicates that the method is being run to produce a JSON for consumption by the export server. Defaults toFalse.
- Returns:
A JSON representation of the object compatible with the Highcharts library.
- Return type:
- static trim_dict(untrimmed: dict, to_json: bool = False, context: str = None, for_export: bool = False) dict
Remove keys from
untrimmedwhose values areNoneand convert values that have.to_dict()methods.- Parameters:
untrimmed (
dict) – Thedictwhose values may still beNoneor Python objects.to_json (
bool) – IfTrue, will remove all keys fromuntrimmedthat are not serializable to JSON. Defaults toFalse.context (
strorNone) – 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 toNone.for_export (
bool) – IfTrue, indicates that the method is being run to produce a JSON for consumption by the export server. Defaults toFalse.
- Returns:
Trimmed
dict- Return type:
- static trim_iterable(untrimmed, to_json=False, context: str = None, for_export: bool = False)
Convert any
EnforcedNullTypevalues inuntrimmedto'null'.- Parameters:
untrimmed (iterable) – The iterable whose members may still be
Noneor Python objects.to_json (
bool) – IfTrue, will remove all members fromuntrimmedthat are not serializable to JSON. Defaults toFalse.context (
strorNone) – 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 toNone.for_export (
bool) – IfTrue, indicates that the method is being run to produce a JSON for consumption by the export server. Defaults toFalse.
- Return type:
iterable
- property array: List | None
Primitive collection of values for data points in the collection. Used if NumPy is not available. Defaults to
None.
- property data_points: List[DataBase] | None
The collection of data points for the series. Defaults to
None.
- property ndarray
A
dictwhose keys correspond to data point properties, and whose values arenumpy.ndarrayinstances that contain the data point collection’s values.
- 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:
Trueif the data point must be serialized to a JS literal object.Falseif it can be serialized to an array.- Return type: