.chart
class: Chart
- class Chart(**kwargs)[source]
Python representation of a Highcharts
Chartobject.Class Inheritance

- __str__()[source]
Return a human-readable
strrepresentation of the chart.Warning
To ensure that the result is human-readable, the chart’s
optionsproperty will be rendered without itsplot_optionsandseriessub-properties.Tip
If you would like a complete and unambiguous
strrepresentation, then you can:use the
__repr__()method,call
repr(my_chart), orserialize the chart to JSON using
my_chart.to_json().
- add_series(*series)[source]
Adds
seriesto theChart.options.seriesproperty.- Parameters:
series (one or more
SeriesBaseor coercable) – One or more series instances (descended fromSeriesBase) or an instance (e.g.dict,str, etc.) coercable to one
- copy(other=None, overwrite=True, **kwargs)[source]
Copy the configuration settings from this chart to the
otherchart.- Parameters:
other (
Chart) – The target chart to which the properties of this chart should be copied. IfNone, will create a new chart 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.preserve_data (
bool) – IfTrue, will preserve the data values in any series contained inotherand the configuration of theoptions.dataproperty, but will still copy other properties as applicable. IfFalse, will overwrite data inotherwith data fromself. 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
- display(global_options=None, container=None, retries=5, interval=1000)[source]
Display the chart in Jupyter Labs or Jupyter Notebooks.
- Parameters:
global_options (
SharedOptionsorNone) – The shared options to use when rendering the chart. Defaults toNoneThe ID to apply to the HTML container when rendered in Jupyter Labs. Defaults to
None, which applies the.containerproperty if set, and'highcharts_target_div'if not set.Note
Highcharts for Python will append a 6-character random string to the value of
containerto ensure uniqueness of the chart’s container when rendering in a Jupyter Notebook/Labs context. TheChartinstance will retain the mapping between container and the random string so long as the instance exists, thus allowing you to easily update the rendered chart by calling the.display()method again.If you wish to create a new chart from the instance that does not update the existing chart, then you can do so by specifying a new
containervalue.retries (
int) – The number of times to retry rendering the chart. Used to avoid race conditions with the Highcharts script. Defaults to 5.interval (
int) – The number of milliseconds to wait between retrying rendering the chart. Defaults to 1000 (1 second).
- Raises:
HighchartsDependencyError – if ipython is not available in the runtime environment
- download_chart(format='png', scale=1, width=None, filename=None, auth_user=None, auth_password=None, timeout=3, referer=None, user_agent=None, server_instance=None, **kwargs)[source]
Export a downloaded form of the chart using a Highcharts Export Server.
- Parameters:
filename (Path-like or
None) – The name of the file where the exported chart should (optionally) be persisted. Defaults toNone.auth_user (
strorNone) – The username to use to authenticate against the Export Server, using basic authentication. Defaults toNone.auth_password (
strorNone) – The password to use to authenticate against the Export Server (using basic authentication). Defaults toNone.timeout (numeric or
None) – The number of seconds to wait before issuing a timeout error. The timeout check is passed if bytes have been received on the socket in less than thetimeoutvalue. Defaults to3.referer (
strorNone) – Provide the referer URL to use when making the request to the Export Server. If not specified, will try to read from theHIGHCHARTS_EXPORT_SERVER_REFERERenvironment variable. If that is not found, then will apply a default ofhttps://www.highchartspython.com.user_agent (
strorNone) – Provide the user agent to use when making the request to the Export Server. If not specified, will try to read from theHIGHCHARTS_EXPORT_SERVER_USER_AGENTenvironment variable. If that is not found, then will apply a default submitting Highcharts for Python as the user agent.server_instance (
ExportServerorNone) – Provide an already-configuredExportServerinstance to use to programmatically produce the exported chart. Defaults toNone, which causes Highcharts for Python to instantiate a newExportServerinstance.
Note
All other keyword arguments are as per the
ExportServerconstructor.
- classmethod from_array(value, series_type='line', series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chartinstance with one series populated from the array contained invalue.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.
- Parameters:
value (iterable) – The array to use to populate the series data.
series_type (
str) – Indicates the series type that should be created from the array data. Defaults to'line'.series_kwargs (
dict) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created fromdfinstead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the data indf.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand the data indfinstead.
- Returns:
A
Chartinstance with its data populated from the data invalue.- Return type:
- classmethod from_csv(as_string_or_file, property_column_map=None, series_type='line', has_header_row=True, series_kwargs=None, options_kwargs=None, chart_kwargs=None, delimiter=',', null_text='None', wrapper_character="'", line_terminator='\r\n', wrap_all_strings=False, double_wrapper_character_when_nested=False, escape_character='\\', series_in_rows=False, series_index=None, **kwargs)[source]
Create a new
Chartinstance with data populated from a CSV string or file.Note
For an example chart containing
LineSeriesinstances, the minimum code required would be:# EXAMPLE 1: The minimum code: my_chart = Chart.from_csv('some-csv-file.csv', series_type = 'line') # EXAMPLE 2: For more precise configuration and *one* series: my_chart = Chart.from_csv('some-csv-file.csv', property_column_map = { 'x': 0, 'y': 3, 'id': 'id' }, series_type = 'line') # EXAMPLE 3: For more precise configuration and *multiple* series: my_chart = Chart.from_csv('some-csv-file.csv', property_column_map = { 'x': 0, 'y': [3, 5, 8], 'id': 'id' }, series_type = 'line')
As the example above shows, data is loaded into the
my_chartinstance from the CSV file with a filenamesome-csv-file.csv.In EXAMPLE 1, the chart will contain one or more series where each series will default to having its
.xvalues taken from the first (index 0) column in the CSV, and oneLineSeriesinstance will be created for each subsequent column (which will populate that series’.yvalues.In EXAMPLE 2, the chart will contain one series, where the
xvalues for each data point will be taken from the first (index 0) column in the CSV file. Theyvalues will be taken from the fourth (index 3) column in the CSV file. And theidvalues will be taken from a column whose header row is labeled'id'(regardless of its index).In EXAMPLE 3, the chart will contain three series, all of which will have
.xvalues taken from the first (index 0) column,.idvalues from the column whose header row is labeled'id', and whose.ywill be taken from the fourth (index 3) column for the first series, the sixth (index 5) column for the second series, and the ninth (index 8) column for the third series.- Parameters:
as_string_or_file (
stror Path-like) –The CSV data to use to pouplate data. Accepts either the raw CSV data as a
stror a path to a file in the runtime environment that contains the CSV data.Tip
Unwrapped empty column values are automatically interpreted as null (
None).property_column_map (
dict) –A
dictused to indicate which data point property should be set to which CSV column. The keys in thedictshould correspond to properties in the data point class, while the value can either be a numerical index (starting with 0) or astrindicating the label for the CSV column. Defaults toNone.Note
If any of the values in
property_column_mapcontain an iterable, then one series will be produced for each item in the iterable. For example, the following:{ 'x': 0, 'y': [3, 5, 8] }
will return three series, each of which will have its
.xvalue populated from the first column (index 0), and whose.yvalues will be populated from the fourth, sixth, and ninth columns (indices 3, 5, and 8), respectively.series_type (
str) – Indicates the series type that should be created from the CSV data. Defaults to'line'.has_header_row (
bool) – IfTrue, indicates that the first row ofas_string_or_filecontains column labels, rather than actual data. Defaults toTrue.series_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created from the CSV file instead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the CSV file instead.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand CSV file instead.delimiter (
str) – The delimiter used between columns. Defaults to,.wrapper_character (
str) – The string used to wrap string values when wrapping is applied. Defaults to'.null_text (
str) – The string used to indicate an empty value if empty values are wrapped. Defaults to None.line_terminator (
str) –The string used to indicate the end of a line/record in the CSV data. Defaults to
'\r\n'.Note
The Python
csvcurrently ignores theline_terminatorparameter and always applies'\r\n', by design. The Python docs say this may change in the future, so for future backwards compatibility we are including it here.wrap_all_strings (
bool) –If
True, indicates that the CSV file has all string data values wrapped in quotation marks. Defaults toFalse.double_wrapper_character_when_nested (
bool) – IfTrue, quote character is doubled when appearing within a string value. IfFalse, theescape_characteris used to prefix quotation marks. Defaults toFalse.escape_character (
str) – A one-character string that indicates the character used to escape quotation marks if they appear within a string value that is already wrapped in quotation marks. Defaults to\\(which is Python for'\', which is Python’s native escape character).series_in_rows (
bool) – ifTrue, will attempt a streamlined cartesian series with x-values taken from column names, y-values taken from row values, and the series name taken from the row index. Defaults toFalse.series_index (
int, slice, orNone) – ifNone, will attempt to populate the chart with multiple series from the CSV data. If anintis supplied, will populate the chart only with the series found atseries_index.**kwargs –
Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.
- Returns:
A
Chartinstance with its data populated from the CSV data.- Return type:
- Raises:
HighchartsCSVDeserializationError – if
property_column_mapreferences CSV columns by their label, but the CSV data does not contain a header row
- classmethod from_csv_in_rows(as_string_or_file, series_type='line', has_header_row=True, series_kwargs=None, options_kwargs=None, chart_kwargs=None, delimiter=',', null_text='None', wrapper_character="'", line_terminator='\r\n', wrap_all_strings=False, double_wrapper_character_when_nested=False, escape_character='\\', series_index=None, **kwargs)[source]
Create a new
Chartinstance with data populated from a CSV string or file.Note
For an example
LineSeries, the minimum code required would be:my_chart = Chart.from_csv('some-csv-file.csv', property_column_map = { 'x': 0, 'y': 3, 'id': 'id' }, series_type = 'line')
As the example above shows, data is loaded into the
my_chartinstance from the CSV file with a filenamesome-csv-file.csv. Thexvalues for each data point will be taken from the first (index 0) column in the CSV file. Theyvalues will be taken from the fourth (index 3) column in the CSV file. And theidvalues will be taken from a column whose header row is labeled'id'(regardless of its index).- Parameters:
as_string_or_file (
stror Path-like) –The CSV data to use to pouplate data. Accepts either the raw CSV data as a
stror a path to a file in the runtime environment that contains the CSV data.Tip
Unwrapped empty column values are automatically interpreted as null (
None).series_type (
str) – Indicates the series type that should be created from the CSV data. Defaults to'line'.has_header_row (
bool) – IfTrue, indicates that the first row ofas_string_or_filecontains column labels, rather than actual data. Defaults toTrue.series_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created from the CSV file instead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the CSV file instead.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand CSV file instead.delimiter (
str) – The delimiter used between columns. Defaults to,.wrapper_character (
str) – The string used to wrap string values when wrapping is applied. Defaults to'.null_text (
str) – The string used to indicate an empty value if empty values are wrapped. Defaults to None.line_terminator (
str) –The string used to indicate the end of a line/record in the CSV data. Defaults to
'\r\n'.Note
The Python
csvcurrently ignores theline_terminatorparameter and always applies'\r\n', by design. The Python docs say this may change in the future, so for future backwards compatibility we are including it here.wrap_all_strings (
bool) –If
True, indicates that the CSV file has all string data values wrapped in quotation marks. Defaults toFalse.double_wrapper_character_when_nested (
bool) – IfTrue, quote character is doubled when appearing within a string value. IfFalse, theescape_characteris used to prefix quotation marks. Defaults toFalse.escape_character (
str) – A one-character string that indicates the character used to escape quotation marks if they appear within a string value that is already wrapped in quotation marks. Defaults to\\(which is Python for'\', which is Python’s native escape character).series_index (
int, slice, orNone) – If supplied, generate the chart with the series that Highcharts for Python generated fromdfat theseries_indexposition. Defaults toNone, which includes all series generated fromdfon the chart.**kwargs –
Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.
- Returns:
A
Chartinstance with its data populated from the CSV data.- Return type:
- Raises:
HighchartsCSVDeserializationError – if
property_column_mapreferences CSV columns by their label, but the CSV data does not contain a header row
- 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_options(options, chart_kwargs=None)[source]
Create a
Chartinstance from aHighchartsOptionsobject.- Parameters:
options (
HighchartsOptionsor coercable) – The configuration options to use to instantiate the chart.An optional
dictcontaining keyword arguments that should be used when instantiating the instance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten by the contents ofoptions.
- Returns:
The
Chartinstance- Return type:
- classmethod from_pandas(df, property_map=None, series_type='line', series_kwargs=None, options_kwargs=None, chart_kwargs=None, series_in_rows=False, series_index=None, **kwargs)[source]
Create a
Chartinstance whose series are populated from a pandasDataFrame.from highcharts_core.chart import Chart from highcharts_core.options.series.area import LineSeries # Create a chart with one or more LineSeries instances from # the CSV file "some-csv-file.csv". # EXAMPLE 1: The minimum code: my_chart = Chart.from_csv('some-csv-file.csv', series_type = 'line') # EXAMPLE 2: For more precise configuration and *one* series: my_chart = Chart.from_csv('some-csv-file.csv', property_column_map = { 'x': 0, 'y': 3, 'id': 'id' }, series_type = 'line') # EXAMPLE 3: For more precise configuration and *multiple* series: my_chart = Chart.from_csv('some-csv-file.csv', property_column_map = { 'x': 0, 'y': [3, 5, 8], 'id': 'id' }, series_type = 'line')
- Parameters:
df (
DataFrame) – TheDataFramefrom which data should be loaded.A
dictused to indicate which data point property should be set to which column indf. The keys in thedictshould correspond to properties in the data point class, while the value should indicate the label for theDataFramecolumn. Defaults toNone.Note
If any of the values in
property_mapcontain an iterable, then one series will be produced for each item in the iterable. For example, the following:{ 'x': 'timestamp', 'y': ['value1', 'value2', 'value3'] }
will return three series, each of which will have its
.xvalue populated from the column labeled'timestamp', and whose.yvalues will be populated from the columns labeled'value1','value2', and'value3', respectively.series_type (
str) – Indicates the series type that should be created from the data indf. Defaults to'line'.series_kwargs (
dict) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created fromdfinstead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the data indf.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand the data indfinstead.series_in_rows (
bool) – ifTrue, will attempt a streamlined cartesian series with x-values taken from column names, y-values taken from row values, and the series name taken from the row index. Defaults toFalse.series_index (
int, slice, orNone) – If supplied, generate the chart with the series that Highcharts for Python generated fromdfat theseries_indexposition. Defaults toNone, which includes all series generated fromdfon the chart.**kwargs –
Additional keyword arguments that are - in turn - propagated to the series created from the
df.
- Returns:
A
Chartinstance with its data populated from the data indf.- Return type:
- Raises:
HighchartsPandasDeserializationError – if
property_mapreferences a column that does not exist in the data frameif pandas is not available in the runtime environment
- classmethod from_pandas_in_rows(df, series_type='line', series_kwargs=None, options_kwargs=None, chart_kwargs=None, series_index=None, **kwargs)[source]
Create a chart from a Pandas
DataFrame, treating each row in the dataframe as a series instances.- Parameters:
df (
DataFrame) – TheDataFramefrom which data should be loaded.series_type (
str) – Indicates the series type that should be created from the data indf. Defaults to'line'.series_kwargs (
dict) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created fromdfinstead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the data indf.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand the data indfinstead.series_index (
int, slice, orNone) – If supplied, generate the chart with the series that Highcharts for Python generated fromdfat theseries_indexposition. Defaults toNone, which includes all series generated fromdfon the chart.**kwargs –
Additional keyword arguments that are - in turn - propagated to the series created from the
df.
- Returns:
A
Chartinstance with its data populated from the data indf.- Return type:
- Raises:
if pandas is not available in the runtime environment
- classmethod from_pyspark(df, property_map, series_type, series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chartinstance whose data is populated from a PySparkDataFrame.- Parameters:
df (
DataFrame) – TheDataFramefrom which data should be loaded.property_map (
dict) – Adictused to indicate which data point property should be set to which column indf. The keys in thedictshould correspond to properties in the data point class, while the value should indicate the label for theDataFramecolumn.series_type (
str) – Indicates the series type that should be created from the data indf.series_kwargs (
dict) –An optional
dictcontaining keyword arguments that should be used when instantiating the series instance. Defaults toNone.Warning
If
series_kwargscontains adatakey, its value will be overwritten. Thedatavalue will be created fromdfinstead.options_kwargs (
dictorNone) –An optional
dictcontaining keyword arguments that should be used when instantiating theHighchartsOptionsinstance. Defaults toNone.Warning
If
options_kwargscontains aserieskey, theseriesvalue will be overwritten. Theseriesvalue will be created from the data indf.An optional
dictcontaining keyword arguments that should be used when instantiating theChartinstance. Defaults toNone.Warning
If
chart_kwargscontains anoptionskey,optionswill be overwritten. Theoptionsvalue will be created from theoptions_kwargsand the data indfinstead.
- Returns:
A
Chartinstance with its data populated from the data indf.- Return type:
- Raises:
HighchartsPySparkDeserializationError – if
property_mapreferences a column that does not exist in the data frameif PySpark is not available in the runtime environment
- classmethod from_series(*series, kwargs=None)[source]
Creates a new
Chartinstance populated withseries.- Parameters:
series (one or more
SeriesBaseor coercable) – One or more series instances (descended fromSeriesBase) or an instance (e.g.dict,str, etc.) coercable to onekwargs (
dict) –Other properties to use as keyword arguments for the instance to be created.
Warning
If
kwargssets theoptions.seriesproperty, that setting will be overridden by the contents ofseries.
- Returns:
A new
Chartinstance- Return type:
- get_required_modules(include_extension=False) List[str][source]
Return the list of URLs from which the Highcharts JavaScript modules needed to render the chart can be retrieved.
- get_script_tags(as_str=False) List[str] | str[source]
Return the collection of
<script/>tags needed to load the modules for the chart to render.
- 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, event_listener: str = 'DOMContentLoaded', event_listener_enabled: bool = True) str | None[source]
Return the object represented as a
strcontaining the JavaScript object literal.- Parameters:
filename (Path-like) – The name of a file to which the JavaScript object literal should be persisted. Defaults to
Noneencoding (
str) – The character encoding to apply to the resulting object. Defaults to'utf-8'.careful_validation (
bool) –if
True, will carefully validate JavaScript values along the way using the esprima-python library. Defaults toFalse.Warning
Setting this value to
Truewill significantly degrade serialization performance, though it may prove useful for debugging purposes.event_listener (
str) – The name of the JS event to which a listener function should be attached. Defaults to'DOMContentLoaded', which renders the chart once all DOM content has been loaded.event_listener_enabled (
bool) – IfTrue, generates the JS literal as per the event listener supplied by theevent_listenerkeyword argument. IfFalse, generates directly executable JS code. Defaults toTrue.
Note
If
variable_nameis set, will render a string as a new JavaScript instance invocation in the (pseudo-code) form:new VARIABLE_NAME = new Chart(...);
If
variable_nameis not set, will simply return thenew Chart(...)portion in the string.
- 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
- update_series(*series, add_if_unmatched=False)[source]
Replace existing series with the new versions supplied in
series, matching them based on their.idproperty.- Parameters:
series (one or more
SeriesBaseor coercable) – One or more series instances (descended fromSeriesBase) or an instance (e.g.dict,str, etc.) coercable to oneadd_if_unmatched (
bool) – IfTrue, will add a series that does not have a match. IfFalse, will raise aHighchartsMissingSeriesErrorif a series does not have a match on the chart. Defaults toFalse.
- property callback: CallbackFunction | None
A (JavaScript) function that is run when the chart has loaded and all external images have been loaded. Defaults to
None.Note
Setting this proprety is equivalent to setting a value for
ChartOptions.events.load- Return type:
CallbackFunctionorNone
- property container: str | None
The
idof the<div>element in which your Highcharts chart should be rendered. Defaults toNone.
- property module_url: str
The URL from which Highcharts modules should be downloaded when generating the
<script/>tags. Will default to theHIGHCHARTS_MODULE_URLenvironment variable if available, and otherwise defaults to'https://code.highcharts.com/'.Tip
If you need to lock the version of Highharts used to render your charts, we recommend supplying one of the Highcharts CDN version paths, e.g.:
'https://code.highcharts.com/11.0.1/''https://code.highcharts.com/11.0.0/'etc.
Warning
Module paths will be appended to this value without checking that they resolve to an actual file, e.g. the module
module/accessibility.jswill get appended as'https://code.highcharts.com/module/accessibility.js'. Be sure to modify this default value carefully.As a general rule of thumb, we strongly recommend that your URL always end in a slash (
'/'), unless your custom URL is loading modules dynamically (e.g. requires a'?module='or similar).- Returns:
The url from which Highcharts modules should be loaded.
- Return type:
- property options: HighchartsOptions | None
The Python representation of the Highcharts
optionsconfiguration object Defaults toNone.- Return type:
HighchartsOptionsorNone
- property variable_name: str | None
The name given to the (JavaScript) variable to which the (JavaScript) Chart instance wil be assigned. Defaults to
None.Note
When the
Chartobject is converted to JavaScript code, the (JavaScript) chart instance is assigned to a variable in your JavaScript code. In the example code below, the Chart instance is assigned to avariable_nameofchart1:var chart1 = Highcharts.Chart('myTargetDiv', {});