.chart
class: Chart
- class Chart(**kwargs)[source]
Python representation of a Highcharts
Chart
object.Class Inheritance
- add_indicator(indicator_name, series, indicator_kwargs=None)[source]
Creates a new technical indicator series which calculates the indicator
indicator_name
for 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 (
str
orSeriesBase
) – The series to which the indicator should be added. Accepts either a series’.id
as astr
, or aSeriesBase
(descendant) instance.indicator_kwargs (
dict
orNone
) – 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
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=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 (
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 to0.5
.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, is_gantt_chart=False)[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.is_gantt_chart (
bool
) –if
True
, enforces the use ofHighchartsGanttOptions
. IfFalse
, appliesHighchartsOptions
. Defaults toFalse
.Note
The value given to this argument will override any values specified in
chart_kwargs
.
- Returns:
A
Chart
instance with its data populated from the data invalue
.- Return type:
- classmethod from_asana(project_gid, section_gid=None, completed_since=None, use_html_description=True, personal_access_token=None, asana_client=None, api_request_params=None, connection_kwargs=None, connection_callback=None, series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a Gantt
Chart
instance from an Asana project.Note
Highcharts Gantt for Python can create an Asana API client for you, authenticating using the Personal Access Token` method supported by the Asana API. However, if you wish to use the more-involved OAuth2 handshake process you will need to create your own Asana API client using the asana-python library.
The reason for this is because the OAuth2 handshake has various permutations involving redirects, token refreshes, etc. which are outside the scope of the Highcharts Gantt for Python library, and if you are integrating Highcharts Gantt for Python into a larger application you are likely already facilitating the OAuth2 dance in a fashion appropriate for your use case.
- Parameters:
project_gid (
str
) – The globally unique ID of the Project whose tasks should be used to assemble the Gantt chart.section_gid (
str
orNone
) – The optional unique ID of the section whose tasks should be used to assemble the Gantt chart. Defaults toNone
, which returns all tasks in the project.completed_since (
datetime
orNone
) – An optional filter which only returns tasks that have been completed after this date. Defaults toNone
, which returns all tasks.use_html_description (
bool
) – IfTrue
, will use the Asana task’s HTML notes in the data point’s.description
field. IfFalse
, will use the non-HTML notes. Defaults toTrue
.personal_access_token (
str
orNone
) – A Personal Access Token created by Asana. Defaults toNone
, which tries to determine its value by looking in theASANA_PERSONAL_ACCESS_TOKEN
environment variable.api_request_params (
dict
orNone
) – Collection of additional request parameters to submit to the Asana API. Defaults toNone
.connection_kwargs (
dict
orNone
) – Set of keyword arugments to supply to theDataConnection
constructor, besides the.to
property which is derived from the task. Defaults toNone
connection_callback (Callable or
None
) –A custom Python function or method which accepts two keyword arguments:
connection_target
(which expects the dependencydict
object from the Asana task), andasana_task
(which expects the Asana taskdict
object). The function should return aDataConnection
instance. Defaults toNone
Tip
The
connection_callback
argument is useful if you want to customize the connection styling based on properties included in the Asana task.series_kwargs (
dict
orNone
) – Collection of additional keyword arguments to use when instantiating theGanttSeries
(besides thedata
argument, which will be determined from the Asana tasks). Defaults toNone
.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 Gantt
Chart
instance- 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='\\', is_gantt_chart=False, series_in_rows=False, **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
).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
.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).is_gantt_chart (
bool
) – IfTrue
, indicates that the chart should be instantiated as a Highcharts Stock for Python chart. Defaults toFalse
.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
.**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_jira(project_key, server=None, jql=None, username=None, password_or_token=None, oauth_dict=None, client_kwargs=None, jira_client=None, connection_kwargs=None, connection_callback=None, series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chart
instance from an Atlassian JIRA project.Note
Highcharts Gantt for Python can create a JIRA API client for you, authenticating using either the Basic Authentication or Access Token methods supported by the JIRA API. However, if you wish to use the more-involved OAuth2 handshake, you can do so yourself and either
supply an
oauth_dict
argument containing the OAuth2 configuration details, orsupply a fully-authenticated
jira_client
The reason for this is because the OAuth2 handshake has various permutations involving redirects, token refreshes, etc. which are outside the scope of the Highcharts Gantt for Python library, and if you are integrating Highcharts Gantt for Python into a larger application you are likely already facilitating the OAuth2 dance in a fashion appropriate for your use case.
- Parameters:
project_key (
str
) – The globally unique key of the Project whose tasks should be used to assemble the Gantt chart. For example,JRA
.The URL of the JIRA instance from which data should be retrieved. Defaults to
None
, which looks for a value in theHIGHCHARTS_JIRA_SERVER
environment variable. If no value is found there, will then fallback to JIRA Cloud:'https://jira.atlasian.com'
.Note
This argument will override the comparable setting in
client_kwargs
ifclient_kwargs
is supplied.jql (
str
orNone
) – An optional JIRA Query Language query string to further narrow the issues returned from JIRA. Defaults toNone
.The username to use when authenticating using either
basic
ortoken
authentication. Defaults toNone
, which looks for a value in theHIGHCHARTS_JIRA_USERNAME
environment variable.Note
If
oauth2_dict
is supplied, theusername
argument will be ignored since OAuth2 authentication will be used.password_or_token (
str
orNone
) –The password or access token to use when authenticating using either
basic
ortoken
authentication. Defaults toNone
, which looks for a vlaue in theHIGHCHARTS_JIRA_TOKEN
environment variable.Note
If
oauth_dict
is supplied, thepassword_or_token
will be ignored since OAuth2 authentication will be used.A
dict
of key/value pairs providing configuration of the Oauth2 authentication details. Expected keys are:'access_token'
'access_token_secret'
'consumer_key'
'key_cert'
Defaults to
None
.Note
To use OAuth2 authentication, an
oauth_dict
must be supplied. If you wish to force either basic or token authentication, make sure this argument remainsNone
.client_kwargs (
dict
orNone
) – An optionaldict
providing keyword arguments to use when instantiating the JIRA client.jira_client (
jira.client.JIRA
instance that has been fully authenticated) – A fully-configured and fully-authenticated JIRA API client. Defaults toNone
.connection_kwargs (
dict
orNone
) – Set of keyword arugments to supply to theDataConnection
constructor, besides the.to
property which is derived from the task. Defaults toNone
connection_callback (Callable or
None
) –A custom Python function or method which accepts two keyword arguments:
connection_target
(which expects the dependencyIssue
object from the initialIssue
), andissue
(which expects the initialIssue
object). The function should return aDataConnection
instance. Defaults toNone
.Tip
The
connection_callback
argument is useful if you want to customize the connection styling based on properties included in the target issue.series_kwargs (
dict
orNone
) – Collection of additional keyword arguments to use when instantiating theGanttSeries
(besides thedata
argument, which will be determined from the JIRA issues). Defaults toNone
.
- Returns:
A Gantt
Chart
instance- Return type:
- Raises:
HighchartsDependencyError – if the jira Python library is not available in the runtime environment
JIRAAuthenticationError – if authentication against the JIRA server fails
HighchartsValueError – if both
template
andproperty_column_map
are empty
- 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_monday(board_id, api_token=None, template=None, property_column_map=None, connection_kwargs=None, connection_callback=None, series_kwargs=None, options_kwargs=None, chart_kwargs=None)[source]
Create a
Chart
instance from a Monday.com work board.- Parameters:
board_id (
int
) – The ID of the Monday.com board whose items should be retrieved to populate the Gantt series.The Monday.com API token to use when authenticating your request against the Monday.com API. Defaults to
None
, which will then try to determine the token from theMONDAY_API_TOKEN
environment variable.Warning
If no token is either passed to the method or found in the
MONDAY_API_TOKEN
environment variable, calling this method will raise an error.The name of a standard Mpnday.com board template supported by Highcharts for Python. If supplied, will override the
property_column_map
argument. Defaults toNone
.Note
If
property_column_map
is set, thetemplate
argument will be ignored and overridden byproperty_column_map
.property_column_map (
dict
orNone
) –A
dict
used to map Monday.com columns to their correspondingGanttSeries
properties. Keys are expected to beGanttSeries
properties, while values are expected to be Monday.com column field names. Defaults toNone
.Note
If
property_column_map
is supplied, its settings override thetemplate
setting.connection_kwargs (
dict
orNone
) – Set of keyword arugments to supply to theDataConnection
constructor, besides the.to
property which is derived from the task. Defaults toNone
connection_callback (Callable or
None
) –A custom Python function or method which accepts two keyword arguments:
connection_target
(which expects the dependencydict
object from the Asana task), andasana_task
(which expects the Asana taskdict
object). The function should return aDataConnection
instance. Defaults toNone
Tip
The
connection_callback
argument is useful if you want to customize the connection styling based on properties included in the Asana task.series_kwargs (
dict
orNone
) – Collection of additional keyword arguments to use when instantiating theGanttSeries
(besides thedata
argument, which will be determined from the Asana tasks). Defaults toNone
.series_kwargs – Collection of additional keyword arguments to use when instantiating the
GanttSeries
(besides thedata
argument, which will be determined from the Asana tasks). Defaults toNone
.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 Gantt
Chart
instance- Return type:
- Raises:
HighchartsDependencyError – if the monday Python library is not available in the runtime environment
MondayAuthenticationError – if there is no Monday.com API token supplied
HighchartsValueError – if both
template
andproperty_column_map
are empty
- classmethod from_options(options, chart_kwargs=None)[source]
Create a
Chart
instance from aHighchartsOptions
orHighchartsGanttOptions
object.- Parameters:
options (
HighchartsOptions
or related 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 data is populated from a pandasDataFrame
.- 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. Defaults toNone
.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
orIndicatorSeriesBase
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) 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.
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')
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:
- 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) 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
.
- Returns:
Trimmed
dict
- Return type:
- static trim_iterable(untrimmed, to_json=False, context: str = None)
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
.
- 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 is_gantt_chart: bool
If
True
, indicates that the chart should be rendered as a Highcharts Gantt chart. IfFalse
, the chart will be rendered using the standard Highcharts JS constructor. Defaults toFalse
.- Return type:
- 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 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 | HighchartsGanttOptions | HighchartsStockOptions | None
The Python representation of the Highcharts Gantt
options
configuration object Defaults toNone
.- Return type:
HighchartsOptions
orHighchartsGanttOptions
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', {});