.chart
class: Chart
- class Chart(**kwargs)[source]
Python representation of a Highcharts
Chartobject.Class Inheritance
digraph inheritanceb463b849b9 { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "chart.Chart" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Python representation of a Highcharts ``Chart`` object."]; "metaclasses.HighchartsMeta" -> "chart.Chart" [arrowsize=0.5,style="setlinewidth(0.5)"]; "chart.Chart" [URL="#highcharts_stock.chart.Chart",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Python representation of a Highcharts ``Chart`` object."]; "chart.Chart" -> "chart.Chart" [arrowsize=0.5,style="setlinewidth(0.5)"]; "metaclasses.HighchartsMeta" [URL="internals.html#highcharts_stock.metaclasses.HighchartsMeta",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Metaclass that is used to define the standard interface exposed for serializable"]; }- add_indicator(indicator_name, series, indicator_kwargs=None)[source]
Creates a new technical indicator series which calculates the indicator
indicator_namefor the series provided inseries, and adds it to the chart’s.options.series.- Parameters:
indicator_name (
str) – The name of the indicator that should be added to the series and chart. For the list of supported indicators, please review the Indicator List.series (
strorSeriesBase) – The series to which the indicator should be added. Accepts either a series’.idas astr, or aSeriesBase(descendant) instance.indicator_kwargs (
dictorNone) – Keyword arguments to apply when instantiating the new indicator series. Defaults toNone.
- Returns:
Nothing. It simply changes the composition of the chart instance’s series to now include a new series with the indicator.
- 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=3, 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 toNonecontainer (
strorNone) – The ID to apply to the HTML container when rendered in Jupyter Labs. Defaults toNone, which applies the.containerproperty if set, and'highcharts_target_div'if not set.retries (
int) – The number of times to retry rendering the chart. Used to avoid race conditions with the Highcharts script. Defaults to 3.interval (
int) – The number of milliseconds to wait between retrying rendering the chart. Defaults to 1000 (1 seocnd).
- 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=0.5, 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 to0.5.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_csv(as_string_or_file, property_column_map, series_type, 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='\\', is_stock_chart=False)[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).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.series_type (
str) – Indicates the series type that should be created from the CSV data.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).is_stock_chart (
bool) – IfTrue, indicates that the chart should be instantiated as a Highcharts Stock for Python chart. Defaults toFalse.
- 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, series_type, series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chartinstance whose data is populated from a pandasDataFrame.- 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:
HighchartsPandasDeserializationError – if
property_mapreferences a column that does not exist in the data frameif 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
SeriesBaseorIndicatorSeriesBasecoercable) – 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:
- 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') str | None[source]
Return the object represented as a
strcontaining the JavaScript object literal.- Parameters:
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')
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:
- Returns:
A JSON representation of the object compatible with the Highcharts library.
- Return type:
- static trim_dict(untrimmed: dict, to_json: bool = False) dict
Remove keys from
untrimmedwhose values areNoneand convert values that have.to_dict()methods.
- static trim_iterable(untrimmed, to_json=False)
Convert any
EnforcedNullTypevalues inuntrimmedto'null'.
- 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 is_stock_chart: bool
If
True, indicates that the chart should be rendered as a Highcharts Stock chart. IfFalse, the chart will be rendered using the standard Highcharts JS constructor. Defaults toFalse.- Return type:
- property options: HighchartsOptions | HighchartsStockOptions | None
The Python representation of the Highcharts
optionsconfiguration object Defaults toNone.- Return type:
HighchartsOptionsorHighchartsStockOptionsorNone
- 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', {});