.chart
class: Chart
- class Chart(**kwargs)[source]
Python representation of a Highcharts
Chart
object.Class Inheritance
- __str__()[source]
Return a human-readable
str
representation of the chart.Warning
To ensure that the result is human-readable, the chart’s
options
property will be rendered without itsplot_options
andseries
sub-properties.Tip
If you would like a complete and unambiguous
str
representation, 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
series
to theChart.options.series
property.- Parameters:
series (one or more
SeriesBase
or 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
other
chart.- 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 inother
that 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 inother
and the configuration of theoptions.data
property, but will still copy other properties as applicable. IfFalse
, will overwrite data inother
with data fromself
. Defaults toTrue
.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
- display(global_options=None, container=None, retries=5, interval=1000)[source]
Display the chart in Jupyter Labs or Jupyter Notebooks.
- Parameters:
global_options (
SharedOptions
orNone
) – The shared options to use when rendering the chart. Defaults toNone
The ID to apply to the HTML container when rendered in Jupyter Labs. Defaults to
None
, which applies the.container
property if set, and'highcharts_target_div'
if not set.Note
Highcharts for Python will append a 6-character random string to the value of
container
to ensure uniqueness of the chart’s container when rendering in a Jupyter Notebook/Labs context. TheChart
instance 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
container
value.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 (
str
orNone
) – The username to use to authenticate against the Export Server, using basic authentication. Defaults toNone
.auth_password (
str
orNone
) – 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 thetimeout
value. Defaults to3
.referer (
str
orNone
) – 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_REFERER
environment variable. If that is not found, then will apply a default ofhttps://www.highchartspython.com
.user_agent (
str
orNone
) – 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_AGENT
environment variable. If that is not found, then will apply a default submitting Highcharts for Python as the user agent.server_instance (
ExportServer
orNone
) – Provide an already-configuredExportServer
instance to use to programmatically produce the exported chart. Defaults toNone
, which causes Highcharts for Python to instantiate a newExportServer
instance.
Note
All other keyword arguments are as per the
ExportServer
constructor.
- classmethod from_array(value, series_type='line', series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chart
instance 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
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created fromdf
instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the data indf
.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and the data indf
instead.
- Returns:
A
Chart
instance 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
Chart
instance with data populated from a CSV string or file.Note
For an example chart containing
LineSeries
instances, 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_chart
instance 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
.x
values taken from the first (index 0) column in the CSV, and oneLineSeries
instance will be created for each subsequent column (which will populate that series’.y
values.In EXAMPLE 2, the chart will contain one series, where the
x
values for each data point will be taken from the first (index 0) column in the CSV file. They
values will be taken from the fourth (index 3) column in the CSV file. And theid
values 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
.x
values taken from the first (index 0) column,.id
values from the column whose header row is labeled'id'
, and whose.y
will 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 (
str
or Path-like) –The CSV data to use to pouplate data. Accepts either the raw CSV data as a
str
or 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
dict
used to indicate which data point property should be set to which CSV column. The keys in thedict
should correspond to properties in the data point class, while the value can either be a numerical index (starting with 0) or astr
indicating the label for the CSV column. Defaults toNone
.Note
If any of the values in
property_column_map
contain 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
.x
value populated from the first column (index 0), and whose.y
values 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_file
contains column labels, rather than actual data. Defaults toTrue
.series_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created from the CSV file instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the CSV file instead.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and 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
csv
currently ignores theline_terminator
parameter 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_character
is 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 anint
is 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
Chart
instance with its data populated from the CSV data.- Return type:
- Raises:
HighchartsCSVDeserializationError – if
property_column_map
references 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
Chart
instance 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_chart
instance from the CSV file with a filenamesome-csv-file.csv
. Thex
values for each data point will be taken from the first (index 0) column in the CSV file. They
values will be taken from the fourth (index 3) column in the CSV file. And theid
values will be taken from a column whose header row is labeled'id'
(regardless of its index).- Parameters:
as_string_or_file (
str
or Path-like) –The CSV data to use to pouplate data. Accepts either the raw CSV data as a
str
or 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_file
contains column labels, rather than actual data. Defaults toTrue
.series_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created from the CSV file instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the CSV file instead.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and 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
csv
currently ignores theline_terminator
parameter 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_character
is 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 fromdf
at theseries_index
position. Defaults toNone
, which includes all series generated fromdf
on the chart.**kwargs –
Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.
- Returns:
A
Chart
instance with its data populated from the CSV data.- Return type:
- Raises:
HighchartsCSVDeserializationError – if
property_column_map
references 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
dict
object.
- 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 astr
or as a filename which contains the JS object literal.allow_snake_case (
bool
) – IfTrue
, interpretssnake_case
keys as equivalent tocamelCase
keys. 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_case
keys as equivalent tocamelCase
keys. Defaults toTrue
.
- Returns:
A Python objcet representation of
as_json
.- Return type:
HighchartsMeta
- classmethod from_options(options, chart_kwargs=None)[source]
Create a
Chart
instance from aHighchartsOptions
object.- Parameters:
options (
HighchartsOptions
or coercable) – The configuration options to use to instantiate the chart.An optional
dict
containing keyword arguments that should be used when instantiating the instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten by the contents ofoptions
.
- Returns:
The
Chart
instance- 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
Chart
instance 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
) – TheDataFrame
from which data should be loaded.A
dict
used to indicate which data point property should be set to which column indf
. The keys in thedict
should correspond to properties in the data point class, while the value should indicate the label for theDataFrame
column. Defaults toNone
.Note
If any of the values in
property_map
contain 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
.x
value populated from the column labeled'timestamp'
, and whose.y
values 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
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created fromdf
instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the data indf
.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and the data indf
instead.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 fromdf
at theseries_index
position. Defaults toNone
, which includes all series generated fromdf
on the chart.**kwargs –
Additional keyword arguments that are - in turn - propagated to the series created from the
df
.
- Returns:
A
Chart
instance with its data populated from the data indf
.- Return type:
- Raises:
HighchartsPandasDeserializationError – if
property_map
references 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
) – TheDataFrame
from 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
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created fromdf
instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the data indf
.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and the data indf
instead.series_index (
int
, slice, orNone
) – If supplied, generate the chart with the series that Highcharts for Python generated fromdf
at theseries_index
position. Defaults toNone
, which includes all series generated fromdf
on the chart.**kwargs –
Additional keyword arguments that are - in turn - propagated to the series created from the
df
.
- Returns:
A
Chart
instance 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
Chart
instance whose data is populated from a PySparkDataFrame
.- Parameters:
df (
DataFrame
) – TheDataFrame
from which data should be loaded.property_map (
dict
) – Adict
used to indicate which data point property should be set to which column indf
. The keys in thedict
should correspond to properties in the data point class, while the value should indicate the label for theDataFrame
column.series_type (
str
) – Indicates the series type that should be created from the data indf
.series_kwargs (
dict
) –An optional
dict
containing keyword arguments that should be used when instantiating the series instance. Defaults toNone
.Warning
If
series_kwargs
contains adata
key, its value will be overwritten. Thedata
value will be created fromdf
instead.options_kwargs (
dict
orNone
) –An optional
dict
containing keyword arguments that should be used when instantiating theHighchartsOptions
instance. Defaults toNone
.Warning
If
options_kwargs
contains aseries
key, theseries
value will be overwritten. Theseries
value will be created from the data indf
.An optional
dict
containing keyword arguments that should be used when instantiating theChart
instance. Defaults toNone
.Warning
If
chart_kwargs
contains anoptions
key,options
will be overwritten. Theoptions
value will be created from theoptions_kwargs
and the data indf
instead.
- Returns:
A
Chart
instance with its data populated from the data indf
.- Return type:
- Raises:
HighchartsPySparkDeserializationError – if
property_map
references 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
Chart
instance populated withseries
.- Parameters:
series (one or more
SeriesBase
or 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
kwargs
sets theoptions.series
property, that setting will be overridden by the contents ofseries
.
- Returns:
A new
Chart
instance- 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
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.
- 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
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 (
bool
) –if
True
, will carefully validate JavaScript values along the way using the esprima-python library. Defaults toFalse
.Warning
Setting this value to
True
will 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_listener
keyword argument. IfFalse
, generates directly executable JS code. Defaults toTrue
.
Note
If
variable_name
is set, will render a string as a new JavaScript instance invocation in the (pseudo-code) form:new VARIABLE_NAME = new Chart(...);
If
variable_name
is 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
str
or abytes
object depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be abytes
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'
.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
untrimmed
whose values areNone
and convert values that have.to_dict()
methods.- Parameters:
untrimmed (
dict
) – Thedict
whose values may still beNone
or Python objects.to_json (
bool
) – IfTrue
, will remove all keys fromuntrimmed
that are not serializable to JSON. Defaults toFalse
.context (
str
orNone
) – 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
EnforcedNullType
values inuntrimmed
to'null'
.- Parameters:
untrimmed (iterable) – The iterable whose members may still be
None
or Python objects.to_json (
bool
) – IfTrue
, will remove all members fromuntrimmed
that are not serializable to JSON. Defaults toFalse
.context (
str
orNone
) – 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.id
property.- Parameters:
series (one or more
SeriesBase
or 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 aHighchartsMissingSeriesError
if 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:
CallbackFunction
orNone
- property container: str | None
The
id
of 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_URL
environment 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.js
will 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
options
configuration object Defaults toNone
.- Return type:
HighchartsOptions
orNone
- 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
Chart
object 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_name
ofchart1
:var chart1 = Highcharts.Chart('myTargetDiv', {});