.gantt


class: GanttSeries

class GanttSeries(**kwargs)[source]

Options to configure a Gantt series.

Gantt charts are a type of chart used to visualize efforts executed in a sequence.

Class Inheritance
Inheritance diagram of GanttSeries

convert_to(series_type)

Creates a new series of series_type from the current series.

Parameters:

series_type (str or SeriesBase-descended) – The series type that should be returned.

Warning

This operation is not guaranteed to work converting between all series types. This is because some series types have different properties, different logic / functionality for their properties, and may have entirely different data requirements.

In general, this method is expected to be lossy in nature, meaning that when the series can be converted “close enough” the series will be converted. However, if the target series_type does not support certain properties set on the original instance, then those settings will not be propagated to the new series.

In certain cases, this method may raise an HighchartsSeriesConversionError if the method is unable to convert (even losing some data) the original into series_type.

Returns:

A new series of series_type, maintaining relevant properties and data from the original instance.

Return type:

series_type SeriesBase descendant

Raises:
  • HighchartsSeriesConversionError – if unable to convert (even after losing some data) the original instance into an instance of series_type.

  • HighchartsValueError – if series_type is not a recognized series type

copy(other=None, overwrite=True, **kwargs)

Copy the configuration settings from this instance to the other instance.

Parameters:
  • other (HighchartsMeta) – The target instance to which the properties of this instance should be copied. If None, will create a new instance and populate it with properties copied from self. Defaults to None.

  • overwrite (bool) – if True, properties in other that are already set will be overwritten by their counterparts in self. Defaults to True.

  • 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, chart_kwargs=None, options_kwargs=None)

Display the series in Jupyter Labs or Jupyter Notebooks.

Parameters:
  • global_options (SharedOptions or None) – The shared options to use when rendering the chart. Defaults to None

  • container (str or None) –

    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. The Chart 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 seocnd).

  • chart_kwargs (dict) – Optional keyword arguments to use when constructing the Chart instance. Defaults to None.

  • options_kwargs (dict) –

    Optional keyword arguments to use when constructing the chart’s HighchartsOptions object. Defaults to None.

    Warning

    If your chart_kwargs contains an options key, its value will be overwritten if you supply options_kwargs.

Raises:

HighchartsDependencyError – if ipython is not available in the runtime environment

classmethod from_array(value, series_kwargs=None)

Create one instance of the series with data populated from value.

Parameters:
  • value (iterable) –

    The value that should contain the data which will be converted into data point instances.

    Note

    If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

  • series_kwargs (dict or None) – Optional keyword arguments to apply when instanting the series. Defaults to None.

Returns:

An instance of the series type with data populated from the value.

Return type:

SeriesBase descendent

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)[source]

Create a GanttSeries 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.

    Tip

    You can find your Asana Project GID in your browser URL bar:

    Asana Project GID

  • section_gid (str or None) – The optional unique ID of the section whose tasks should be used to assemble the Gantt chart. Defaults to None, which returns all tasks in the project.

  • completed_since (datetime or None) – An optional filter which only returns tasks that have been completed after this date. Defaults to None, which returns all tasks.

  • use_html_description (bool) – If True, will use the Asana task’s HTML notes in the data point’s .description field. If False, will use the non-HTML notes. Defaults to True.

  • personal_access_token (str or None) – A Personal Access Token created by Asana. Defaults to None, which tries to determine its value by looking in the ASANA_PERSONAL_ACCESS_TOKEN environment variable.

  • api_request_params (dict or None) – Collection of additional request parameters to submit to the Asana API. Defaults to None.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency dict object from the Asana task), and asana_task (which expects the Asana task dict object). The function should return a DataConnection instance. Defaults to None

    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 or None) – Collection of additional keyword arguments to use when instantiating the GanttSeries (besides the data argument, which will be determined from the Asana tasks). Defaults to None.

Returns:

A GanttSeries populated with data from the indicated Asana project/section.

Return type:

GanttSeries

Raises:
  • HighchartsDependencyError – if the asana Python library is not available in the runtime environment.

  • HighchartsValueError – if connection_callback is not None, but is not callable

  • HighchartsValueError – if asana_client is not None, but is not a valid asana.client.Client> instance

  • AsanaAuthenticationError – if asana_client is not authenticated or if no personal access token is supplied

classmethod from_csv(as_string_or_file, property_column_map=None, has_header_row=True, series_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)

Create one or more new series instances with .data populated from data in a CSV string or file.

Note

For an example LineSeries, the minimum code required would be:

# Create one or more LineSeries instances from the CSV file "some-csv-file.csv".

# EXAMPLE 1. The minimum code to produce one series for each
# column in the CSV file (excluding the first column):

my_series = LineSeries.from_csv('some-csv-file.csv')

# EXAMPLE 2. Produces ONE series with more precise configuration:

my_series = LineSeries.from_csv('some-csv-file.csv',
                                property_column_map = {
                                    'x': 0,
                                    'y': 3,
                                    'id': 'id'
                                })

# EXAMPLE 3. Produces THREE series instances with 
# more precise configuration:

my_series = LineSeries.from_csv('some-csv-file.csv',
                                property_column_map = {
                                    'x': 0,
                                    'y': [3, 5, 8],
                                    'id': 'id'
                                })

As the example above shows, data is loaded into the my_series instance from the CSV file with a filename some-csv-file.csv. The x values for each data point will be taken from the first (index 0) column in the CSV file. The y values will be taken from the fourth (index 3) column in the CSV file. And the id 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 or None) –

    A dict used to indicate which data point property should be set to which CSV column. The keys in the dict should correspond to properties in the data point class, while the value can either be a numerical index (starting with 0) or a str indicating the label for the CSV column. Defaults to None.

    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.

    Warning

    If the property_column_map uses str values, the CSV file must have a header row (this is expected, by default). If there is no header row and a str value is found, a HighchartsCSVDeserializationError will be raised.

  • has_header_row (bool) – If True, indicates that the first row of as_string_or_file contains column labels, rather than actual data. Defaults to True.

  • series_kwargs (dict) –

    An optional dict containing keyword arguments that should be used when instantiating the series instance. Defaults to None.

    Warning

    If series_kwargs contains a data key, its value will be overwritten. The data value will be created from the 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'.

  • line_terminator

    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 the line_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 to False.

    Warning

    If set to True, the csv module will try to coerce any value that is not wrapped in quotation marks to a float. This can cause unexpected behavior, and typically we recommend leaving this as False and then re-casting values after they have been parsed.

  • double_wrapper_character_when_nested (bool) – If True, quote character is doubled when appearing within a string value. If False, the escape_character is used to prefix quotation marks. Defaults to False.

  • 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) – if True, 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 to False. False.

  • series_index (int, slice, or None) – If supplied, return the series that Highcharts for Python generated from the CSV at the series_index position. Defaults to None, which returns all series generated from the CSV.

  • **kwargs

    Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.

Returns:

A series instance (descended from SeriesBase) OR list of series instances with its .data property populated from the data in df.

Return type:

list of series instances (descended from SeriesBase) or SeriesBase-descendent

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, has_header_row=True, series_kwargs=None, delimiter=',', null_text='None', wrapper_character="'", line_terminator='\r\n', wrap_all_strings=False, double_wrapper_character_when_nested=False, escape_character='\\', **kwargs)

Create a new series instance with a .data property populated from data in a CSV string or file.

Note

For an example LineSeries, the minimum code required would be:

my_series = LineSeries.from_csv_in_rows('some-csv-file.csv')
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).

  • has_header_row (bool) – If True, indicates that the first row of as_string_or_file contains column labels, rather than actual data. Defaults to True.

  • series_kwargs (dict) –

    An optional dict containing keyword arguments that should be used when instantiating the series instance. Defaults to None.

    Warning

    If series_kwargs contains a data key, its value will be overwritten. The data value will be created from the 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'.

  • line_terminator

    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 the line_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 to False.

    Warning

    If set to True, the csv module will try to coerce any value that is not wrapped in quotation marks to a float. This can cause unexpected behavior, and typically we recommend leaving this as False and then re-casting values after they have been parsed.

  • double_wrapper_character_when_nested (bool) – If True, quote character is doubled when appearing within a string value. If False, the escape_character is used to prefix quotation marks. Defaults to False.

  • 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).

  • **kwargs

    Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.

Returns:

A series instance (descended from SeriesBase) OR list of series instances with its .data property populated from the data in df.

Return type:

list of series instances (descended from SeriesBase) or SeriesBase-descendent

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.

Parameters:
  • as_dict (dict) – A dict representation of the object.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

Returns:

A Python object representation of as_dict.

Return type:

HighchartsMeta

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)[source]

Create a GanttSeries 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, or

  • supply 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.

  • server (str or None) –

    The URL of the JIRA instance from which data should be retrieved. Defaults to None, which looks for a value in the HIGHCHARTS_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 if client_kwargs is supplied.

  • jql (str or None) – An optional JIRA Query Language query string to further narrow the issues returned from JIRA. Defaults to None.

  • username (str or None) –

    The username to use when authenticating using either basic or token authentication. Defaults to None, which looks for a value in the HIGHCHARTS_JIRA_USERNAME environment variable.

    Note

    If oauth2_dict is supplied, the username argument will be ignored since OAuth2 authentication will be used.

  • password_or_token (str or None) –

    The password or access token to use when authenticating using either basic or token authentication. Defaults to None, which looks for a vlaue in the HIGHCHARTS_JIRA_TOKEN environment variable.

    Note

    If oauth_dict is supplied, the password_or_token will be ignored since OAuth2 authentication will be used.

  • oauth_dict (dict or None) –

    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 remains None.

  • client_kwargs (dict or None) – An optional dict 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 to None.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency Issue object from the initial Issue), and issue (which expects the initial Issue object). The function should return a DataConnection instance. Defaults to None.

    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 or None) – Collection of additional keyword arguments to use when instantiating the GanttSeries (besides the data argument, which will be determined from the JIRA issues). Defaults to None.

Returns:

A : class:GanttSeries <highcharts_gantt.options.series.gantt.GanttSeries> populated with data from the indicated JIRA project.

Return type:

GanttSeries

Raises:
  • HighchartsDependencyError – if the jira Python library is not available in the runtime environment.

  • JIRAAuthenticationError – if no authentication details are provided or if the authentication process fails

  • JIRAProjectNotFoundError

    if the project_key is not found in the JIRA server indicated

    Tip

    This can happen if authentication fails silently, which can happen when using the JIRA Cloud environment.

  • HighchartsValueError – if other keyword arguments are misconfigured

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 a str or as a filename which contains the JS object literal.

  • allow_snake_case (bool) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

  • _break_loop_on_failure (bool) – If True, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults to False.

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) – If True, interprets snake_case keys as equivalent to camelCase keys. Defaults to True.

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)[source]

Create a GanttSeries 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.

    Tip

    You can find your Asana Project GID in your browser URL bar:

    Monday.com Board ID

  • api_token (str or None) –

    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 the MONDAY_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.

  • template (str or None) –

    The name of a standard Mpnday.com board template supported by Highcharts for Python. If supplied, will override the property_column_map argument. Defaults to None.

    Note

    If property_column_map is set, the template argument will be ignored and overridden by property_column_map.

  • property_column_map (dict or None) –

    A dict used to map Monday.com columns to their corresponding GanttSeries properties. Keys are expected to be GanttSeries properties, while values are expected to be Monday.com column field names. Defaults to None.

    Note

    If property_column_map is supplied, its settings override the template setting.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency dict object from the Asana task), and asana_task (which expects the Asana task dict object). The function should return a DataConnection instance. Defaults to None

    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 or None) – Collection of additional keyword arguments to use when instantiating the GanttSeries (besides the data argument, which will be determined from the Asana tasks). Defaults to None.

Returns:

A GanttSeries populated with data from the indicated Asana project/section.

Return type:

GanttSeries

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 and property_column_map are empty

classmethod from_pandas(df, property_map=None, series_kwargs=None, series_in_rows=False, series_index=None, **kwargs)

Create one or more series instances whose .data properties are populated from a pandas DataFrame.

# Given a Pandas DataFrame instance named "df"
from highcharts_core.chart import Chart
from highcharts_core.options.series.area import LineSeries

# Creating a Series from the DataFrame

## EXAMPLE 1. Minimum code required. Creates one or more series.

my_series = LineSeries.from_pandas(df)

## EXAMPLE 2. More precise configuration. Creates ONE series.

my_series = LineSeries.from_pandas(df, series_index = 2)

## EXAMPLE 3. More precise configuration. Creates ONE series.

my_series = LineSeries.from_pandas(df,
                                   property_map = {
                                      'x': 'date',
                                      'y': 'value',
                                      'id': 'id'
                                   })

## EXAMPLE 4. More precise configuration. Creates THREE series.

my_series = LineSeries.from_pandas(df,
                                   property_map = {
                                      'x': 'date',
                                      'y': ['value1', 'value2', 'value3'],
                                      'id': 'id'
                                   })
Parameters:
  • df (DataFrame) – The DataFrame from which data should be loaded.

  • property_map (dict or None) –

    A dict used to indicate which data point property should be set to which column in df. The keys in the dict should correspond to properties in the data point class, while the value should indicate the label for the DataFrame column. Defaults to None.

    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_kwargs (dict) –

    An optional dict containing keyword arguments that should be used when instantiating the series instance. Defaults to None.

    Warning

    If series_kwargs contains a data key, its value will be overwritten. The data value will be created from df instead.

  • series_in_rows (bool) – if True, 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 to False. False.

  • series_index (int, slice, or None) – If supplied, return the series that Highcharts for Python generated from df at the series_index value. Defaults to None, which returns all series generated from df.

  • **kwargs

    Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.

Returns:

A series instance (descended from SeriesBase) OR list of series instances with its .data property populated from the data in df.

Return type:

list of series instances (descended from SeriesBase) or SeriesBase-descendent

Raises:
  • HighchartsPandasDeserializationError – if property_map references a column that does not exist in the data frame

  • HighchartsDependencyError

    if pandas is not available in the runtime environment

classmethod from_pandas_in_rows(df, series_kwargs=None, series_index=None, **kwargs)

Create a collection of series instances, one for each row in df.

Parameters:
  • df (DataFrame) – The DataFrame from which data should be loaded.

  • series_kwargs (dict) –

    An optional dict containing keyword arguments that should be used when instantiating the series instance. Defaults to None.

    Warning

    If series_kwargs contains a data key, its value will be overwritten. The data value will be created from df instead.

  • series_index (int, slice, or None) – If supplied, return the series that Highcharts for Python generated from df at the series_index value. Defaults to None, which returns all series generated from df.

  • **kwargs

    Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.

Returns:

Collection of series instances corresponding, with one series per row in df, and where:

  • the series x-values are populated from the column labels in df

  • the series name is set to the row label from df

  • the series y-values are populated from the values within that row in df

Return type:

list of SeriesBase-descendent instances

classmethod from_pyspark(df, property_map, series_kwargs=None)

Create a series instance whose .data property is populated from a PySpark DataFrame.

Parameters:
  • df (DataFrame) – The DataFrame from which data should be loaded.

  • property_map (dict) – A dict used to indicate which data point property should be set to which column in df. The keys in the dict should correspond to properties in the data point class, while the value should indicate the label for the DataFrame column.

  • series_kwargs (dict) –

    An optional dict containing keyword arguments that should be used when instantiating the series instance. Defaults to None.

    Warning

    If series_kwargs contains a data key, its value will be overwritten. The data value will be created from df instead.

Returns:

A series instance (descended from SeriesBase) with its .data property populated from the data in df.

Return type:

list of series instances (descended from SeriesBase)

Raises:
  • HighchartsPySparkDeserializationError – if property_map references a column that does not exist in the data frame

  • HighchartsDependencyError

    if PySpark is not available in the runtime environment

get_required_modules(include_extension=False) List[str]

Return the list of URLs from which the Highcharts JavaScript modules needed to render the chart can be retrieved.

Parameters:

include_extension (bool) – if True, will return script names with the '.js' extension included. Defaults to False.

Return type:

list of str

load_from_array(value)

Update the .data property with data loaded from an iterable in value.

Parameters:

value (iterable) –

The value that should contain the data which will be converted into data point instances.

Note

If value is not an iterable, it will be converted into an iterable to be further de-serialized correctly.

load_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)[source]

Replace the data in the GanttSeries instance with data 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 series.

    Tip

    You can find your Asana Project GID in your browser URL bar:

    Asana Project GID

  • section_gid (str or None) – The optional unique ID of the section whose tasks should be used to assemble the Gantt chart. Defaults to None, which returns all tasks in the project.

  • completed_since (datetime or None) – An optional filter which only returns tasks that have been completed after this date. Defaults to None, which returns all tasks.

  • use_html_description (bool) – If True, will use the Asana task’s HTML notes in the data point’s .description field. If False, will use the non-HTML notes. Defaults to True.

  • personal_access_token (str or None) – A Personal Access Token created by Asana. Defaults to None, which tries to determine its value by looking in the ASANA_PERSONAL_ACCESS_TOKEN environment variable.

  • api_request_params (dict or None) – Collection of additional request parameters to submit to the Asana API. Defaults to None.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency dict object from the Asana task), and asana_task (which expects the Asana task dict object). The function should return a DataConnection instance. Defaults to None

    Tip

    The connection_callback argument is useful if you want to customize the connection styling based on properties included in the Asana task.

Returns:

A GanttSeries populated with data from the indicated Asana project/section.

Return type:

GanttSeries

Raises:
  • HighchartsDependencyError – if the asana Python library is not available in the runtime environment.

  • HighchartsValueError – if connection_callback is not None, but is not callable

  • HighchartsValueError – if asana_client is not None, but is not a valid asana.client.Client> instance

  • AsanaAuthenticationError – if asana_client is not authenticated or if no personal access token is supplied

load_from_csv(as_string_or_file, property_column_map=None, has_header_row=True, 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=True, **kwargs)

Replace the existing .data property with a new value populated from data in a CSV string or file.

Note

For an example LineSeries, the minimum code required would be:

my_series = LineSeries()

# EXAMPLE 1. Minimal code - will attempt to update the line series
# taking x-values from the first column, and y-values from
# the second column. If there are too many columns in the CSV,
# will throw an error.

my_series = my_series.from_csv('some-csv-file.csv')

# EXAMPLE 2. More precise code - will attempt to update the line series
# mapping columns in the CSV file to properties on the series
# instance.

my_series = my_series.from_csv('some-csv-file.csv',
                               property_column_map = {
                                   'x': 0,
                                   'y': 3,
                                   'id': 'id'
                               })

# EXAMPLE 3. More precise code - will update the line series
# using a specific series generated from the CSV file.

my_series = my_series.from_csv('some-csv-file.csv', series_index = 2)

As the example above shows, data is loaded into the my_series instance from the CSV file with a filename some-csv-file.csv. As shown in EXAMPLE 1, unless otherwise specified, the .x values for each data point will be taken from the first (index 0) column in the CSV file, while the .y values will be taken from the second column.

If the CSV has more than 2 columns, then this will throw an HighchartsCSVDeserializationError because the function is not certain which columns to use to update the series. If this happens, you can either:

  1. As shown in EXAMPLE 2, precisely specify which columns to use by providing a property_column_map argument. In EXAMPLE 2, the .x values for each data point will be taken from the first (index 0) column in the CSV file. The .y values will be taken from the fourth (index 3) column in the CSV file. And the .id values will be taken from a column whose header row is labeled 'id' (regardless of its index).

  2. Supply a series_index argument, which indicates which of the series generated from the CSV file should be used to update the instance.

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 or None) –

    An optional dict used to indicate which data point property should be set to which CSV column. The keys in the dict should correspond to properties in the data point class, while the value can either be a numerical index (starting with 0) or a str indicating the label for the CSV column. Defaults to None.

    Warning

    If the property_column_map uses str values, the CSV file must have a header row (this is expected, by default). If there is no header row and a str value is found, a HighchartsCSVDeserializationError will be raised.

  • has_header_row (bool) – If True, indicates that the first row of as_string_or_file contains column labels, rather than actual data. Defaults to True.

  • 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'.

  • line_terminator

    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 the line_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 to False.

    Warning

    If set to True, the csv module will try to coerce any value that is not wrapped in quotation marks to a float. This can cause unexpected behavior, and typically we recommend leaving this as False and then re-casting values after they have been parsed.

  • double_wrapper_character_when_nested (bool) – If True, quote character is doubled when appearing within a string value. If False, the escape_character is used to prefix quotation marks. Defaults to False.

  • 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) – if True, 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 to False.

  • series_index (int or None) – if None, will raise a HighchartsCSVDeserializationError if the CSV data contains more than one series and no property_column_map is provided. Otherwise, will update the instance with the series found in the CSV at the series_index value. Defaults to None.

  • **kwargs

    Remaining keyword arguments will be attempted on the resulting series instance and the data points it contains.

Raises:

HighchartsCSVDeserializationError – if property_column_map references CSV columns by their label, but the CSV data does not contain a header row

load_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)[source]

Update the GanttSeries instance with data 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, or

  • supply 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.

  • server (str or None) –

    The URL of the JIRA instance from which data should be retrieved. Defaults to None, which looks for a value in the HIGHCHARTS_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 if client_kwargs is supplied.

  • jql (str or None) – An optional JIRA Query Language query string to further narrow the issues returned from JIRA. Defaults to None.

  • username (str or None) –

    The username to use when authenticating using either basic or token authentication. Defaults to None, which looks for a value in the HIGHCHARTS_JIRA_USERNAME environment variable.

    Note

    If oauth2_dict is supplied, the username argument will be ignored since OAuth2 authentication will be used.

  • password_or_token (str or None) –

    The password or access token to use when authenticating using either basic or token authentication. Defaults to None, which looks for a vlaue in the HIGHCHARTS_JIRA_TOKEN environment variable.

    Note

    If oauth_dict is supplied, the password_or_token will be ignored since OAuth2 authentication will be used.

  • oauth_dict (dict or None) –

    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 remains None.

  • client_kwargs (dict or None) – An optional dict 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 to None.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency Issue object from the initial Issue), and issue (which expects the initial Issue object). The function should return a DataConnection instance. Defaults to None.

    Tip

    The connection_callback argument is useful if you want to customize the connection styling based on properties included in the target issue.

Raises:
  • HighchartsDependencyError – if the jira Python library is not available in the runtime environment.

  • JIRAAuthenticationError – if no authentication details are provided or if the authentication process fails

  • JIRAProjectNotFoundError

    if the project_key is not found in the JIRA server indicated

    Tip

    This can happen if authentication fails silently, which can happen when using the JIRA Cloud environment.

  • HighchartsValueError – if other keyword arguments are misconfigured

load_from_monday(board_id, api_token=None, template=None, property_column_map=None, connection_kwargs=None, connection_callback=None)[source]

Update the GanttSeries instance with data 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.

    Tip

    You can find your Asana Project GID in your browser URL bar:

    Monday.com Board ID

  • api_token (str or None) –

    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 the MONDAY_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.

  • template (str or None) –

    The name of a standard Mpnday.com board template supported by Highcharts for Python. If supplied, will override the property_column_map argument. Defaults to None.

    Note

    If property_column_map is set, the template argument will be ignored and overridden by property_column_map.

  • property_column_map (dict or None) –

    A dict used to map Monday.com columns to their corresponding GanttSeries properties. Keys are expected to be GanttSeries properties, while values are expected to be Monday.com column field names. Defaults to None.

    Note

    If property_column_map is supplied, its settings override the template setting.

  • connection_kwargs (dict or None) – Set of keyword arugments to supply to the DataConnection constructor, besides the .to property which is derived from the task. Defaults to None

  • connection_callback (Callable or None) –

    A custom Python function or method which accepts two keyword arguments: connection_target (which expects the dependency dict object from the Asana task), and asana_task (which expects the Asana task dict object). The function should return a DataConnection instance. Defaults to None

    Tip

    The connection_callback argument is useful if you want to customize the connection styling based on properties included in the Asana task.

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 and property_column_map are empty

load_from_pandas(df, property_map=None, series_in_rows=False, series_index=None)

Replace the contents of the .data property with data points populated from a pandas DataFrame.

Parameters:
  • df (DataFrame) – The DataFrame from which data should be loaded.

  • property_map (dict or None) – A dict used to indicate which data point property should be set to which column in df. The keys in the dict should correspond to properties in the data point class, while the value should indicate the label for the DataFrame column. Defaults to None.

  • series_in_rows (bool) – if True, 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 to False.

  • series_index (int, or None) –

    If supplied, return the series that Highcharts for Python generated from df at the series_index value. Defaults to None, which returns all series generated from df.

    Warning

    If None and Highcharts for Python generates multiple series, then a HighchartsPandasDeserializationError will be raised.

Raises:
  • HighchartsPandasDeserializationError – if property_map references a column that does not exist in the data frame

  • HighchartsPandasDeserializationError – if series_index is None, and it is ambiguous which series generated from the dataframe should be used

  • HighchartsDependencyError

    if pandas is not available in the runtime environment

load_from_pyspark(df, property_map)

Replaces the contents of the .data property with values from a PySpark DataFrame.

Parameters:
  • df (DataFrame) – The DataFrame from which data should be loaded.

  • property_map (dict) – A dict used to indicate which data point property should be set to which column in df. The keys in the dict should correspond to properties in the data point class, while the value should indicate the label for the DataFrame column.

Raises:
  • HighchartsPySparkDeserializationError – if property_map references a column that does not exist in the data frame

  • HighchartsDependencyError

    if PySpark is not available in the runtime environment

to_chart(chart_kwargs=None, options_kwargs=None)

Create a Chart instance containing the series instance.

Parameters:
  • chart_kwargs (dict) – Optional keyword arguments to use when constructing the Chart instance. Defaults to None.

  • options_kwargs (dict) –

    Optional keyword arguments to use when constructing the chart’s HighchartsOptions object. Defaults to None.

    Warning

    If your chart_kwargs contains an options key, its value will be overwritten if you supply options_kwargs.

Returns:

A Chart instance containing the series instance.

Return type:

Chart

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.

Returns:

A dict representation of the object.

Return type:

dict

to_js_literal(filename=None, encoding='utf-8', careful_validation=False) str | None

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 – if True, will carefully validate JavaScript values

along the way using the esprima-python library. Defaults to False.

Warning

Setting this value to True will significantly degrade serialization performance, though it may prove useful for debugging purposes.

Return type:

str or None

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 a bytes object depending on the JSON serialization library you are using. For example, if your environment has orjson, the result will be a bytes 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'.

Returns:

A JSON representation of the object compatible with the Highcharts library.

Return type:

str or bytes

static trim_dict(untrimmed: dict, to_json: bool = False, context: str = None) dict

Remove keys from untrimmed whose values are None and convert values that have .to_dict() methods.

Parameters:
  • untrimmed (dict) – The dict whose values may still be None or Python objects.

  • to_json (bool) – If True, will remove all keys from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – 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 to None.

Returns:

Trimmed dict

Return type:

dict

static trim_iterable(untrimmed, to_json=False, context: str = None)

Convert any EnforcedNullType values in untrimmed to 'null'.

Parameters:
  • untrimmed (iterable) – The iterable whose members may still be None or Python objects.

  • to_json (bool) – If True, will remove all members from untrimmed that are not serializable to JSON. Defaults to False.

  • context (str or None) – 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 to None.

Return type:

iterable

property accessibility: TypeOptionsAccessibility | None

Accessibility options for a series.

Return type:

TypeOptionsAccessibility or None

property allow_point_select: bool | None

Allow this series’ points to be selected by clicking on the graphic (columns, point markers, pie slices, map areas etc).

The selected points can be handled in JavaScript by point select and unselect events, or collectively by the (JavaScript) getSelectedPoints() function.

And alternative way of selecting points is through dragging.

Defaults to False.

Return type:

bool or None

property animation: AnimationOptions | None

Enable or disable the initial animation when a series is displayed.

The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see Chart.animation and the animation parameter under the (JavaScript) API methods. The following properties are supported:

  • defer: The animation delay time in milliseconds.

  • duration: The duration of the animation in milliseconds.

  • easing: Can be a string reference to an easing function set on the Math object or a function.

Warning

Due to poor performance, animation is disabled in old IE browsers for several chart types.

Return type:

AnimationOptions or None

property animation_limit: int | float | Decimal | None

For some series, there is a limit that shuts down initial animation by default when the total number of points in the chart is too high. Defaults to None.

For example, for a column chart and its derivatives, animation does not run if there is more than 250 points totally. To disable this cap, set animation_limit to float("inf") (which represents infinity).

Return type:

numeric or None

property boost_blending: str | None

Sets the color blending in the boost module. Defaults to None.

Return type:

str or None

property boost_threshold: int | None

Set the point threshold for when a series should enter boost mode. Defaults to 5000.

Setting it to e.g. 2000 will cause the series to enter boost mode when there are 2,000 or more points in the series.

To disable boosting on the series, set the boost_threshold to 0. Setting it to 1 will force boosting.

Note

The AreaOptions.crop_threshold() also affects this setting.

When zooming in on a series that has fewer points than the crop_threshold, all points are rendered although outside the visible plot area, and the boost_threshold won’t take effect.

Return type:

int or None

property border_color: str | Gradient | Pattern | None

The color of the border surrounding each column or bar. Defaults to '#ffffff'.

Return type:

str or None

property border_radius: int | float | Decimal | None

The corner radius of the border surrounding each column or bar. Defaults to 0.

Return type:

numeric or None

property border_width: int | float | Decimal | None

The width of the border surrounding each column or bar. If None, defaults to 1 when there is room for a border, but to 0 when the columns are so dense that a border would cover the next column.

Return type:

numeric or None

property center_in_category: bool | None

If True, the columns will center in the category, ignoring null or missing points. When False, space will be reserved for null or missing points. Defaults to False.

Return type:

bool or None

property class_name: str | None

The additional CSS class name to apply to the series’ graphical elements.

Note

This option is additive to the default class names - it does not replace them.

Return type:

str or None

property clip: bool | None

If False, allows the series to be rendered in the entire plot area. If True, constrains where the series can be rendered within the plot area. Defaults to True.

Return type:

bool or None

property color: str | Gradient | Pattern | None

The main color of the series.

In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the Options.colors() array.

Returns:

The main color applied to the series.

Return type:

str, Gradient, Pattern`, or None

property color_axis: str | int | bool | None

When using dual or multiple color axes, this setting defines which color axis the particular series is connected to. It refers to either the ColorAxis.id() or the index of the axis in the ColorAxis array, with 0 being the first. Set this option to False to prevent a series from connecting to the default color axis.

Defaults to 0.

Return type:

None or str or int or bool

property color_by_point: bool | None

When using automatic point colors pulled from the global colors or series-specific collections, this option determines whether the chart should receive one color per series (False) or one color per point (True).

Defaults to True.

Return type:

bool or None

property color_index: int | None

When operating in styled mode, a specific color index to use for the series, so that its graphic representations are given the class name highcharts-color-{n}.

Tip

New in version Highcharts: (JS) v.11

With Highcharts (JS) v.11, using CSS variables of the form --highcharts-color-{n} make changing the color scheme very simple.

Defaults to None.

Return type:

int or None

property color_key: str | None

Determines what data value should be used to calculate point color if AreaOptions.color_axis() is used.

Note

Requires to set min and max if some custom point property is used or if approximation for data grouping is set to 'sum'.

Return type:

str or None

property colors: List[str | Gradient | Pattern] | None

A series-specific or series type-specific color set to apply instead of the global colors when BarOptions.color_by_point() is True.

Return type:

list of str, Gradient, or Pattern OR None

property compare: str | None

Determines whether to display the 'percent' or the 'value' of the indicator’s comparison against the main series. Defaults to None, which does not calculate the comparison.

Accepts:

  • 'percent' - returns the percentage calculation for the indicator

  • 'value' - returns the axis value calculation for the indicator

Return type:

str or None

property compare_base: int | None

When .compare is set to 'percent', this option determines whether to use 0 or 100 as the basis of comparison. Defaults to 0.

Accepts:

  • 0

  • 100

Return type:

int or None

property compare_start: bool | None

If True, the first point in the visible range will be used for the comparative calculation, essentially starting from 0. If False, the comparison will be performed based on the data point immediately prior to the visible range. Defaults to False.

Return type:

bool or None

property connect_ends: bool | None

If True, connect the ends of a line series plot across the extremes. Defaults to None.

Warning

Applies to polar charts only.

Return type:

bool or None

property connect_nulls: bool | None

If True, connect a graph line across null points. If False, renders a gap between the points on either side of the null point. Defaults to False.

Return type:

bool or None

property connectors: ConnectorOptions | None

Overrides the pathfinder connection options for a series.

Return type:

ConnectorOptions or None

property crisp: bool | None

If True, each point or column edge is rounded to its nearest pixel in order to render sharp on screen. Defaults to True.

Hint

In some cases, when there are a lot of densely packed columns, this leads to visible difference in column widths or distance between columns. In these cases, setting crisp to False may look better, even though each column is rendered blurry.

Return type:

bool or None

property crop_threshold: int | None

When the series contains less points than the crop threshold, all points are drawn, even if the points fall outside the visible plot area at the current zoom. Defaults to 300.

The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series.

Return type:

int or None

property cumulative: bool | None

If True, replaces points’ values with the following (logcical) formula:

sum of all previous visible points' values + current point's value

Caution

This calculation is only applied to points in the visible range.

If False, the point values remain unchanged and are presented as-is. Defaults to False.

Note

In JavaScript, each point object for the series will now have a new property - .cumulativeSum - available for use in formatter callback functions or format strings.

Return type:

bool or None

property cursor: str | None

The style of cursor to use when the user’s mouse hovers over the data series.

Acceptable values are:

  • 'alias'

  • 'all-scroll'

  • 'auto'

  • 'cell'

  • 'col-resize'

  • 'context-menu'

  • 'copy'

  • 'crosshair'

  • 'default'

  • 'e-resize'

  • 'ew-resize'

  • 'grab'

  • 'grabbing'

  • 'help'

  • 'move'

  • 'n-resize'

  • 'ne-resize'

  • 'nesw-resize'

  • 'no-drop'

  • 'none'

  • 'not-allowed'

  • 'ns-resize'

  • 'nw-resize'

  • 'nwse-resize'

  • 'pointer'

  • 'progress'

  • 'row-resize'

  • 's-resize'

  • 'se-resize'

  • 'sw-resize'

  • 'text'

  • 'vertical-text'

  • 'w-resize'

  • 'wait'

  • 'zoom-in'

  • 'zoom-out'

Return type:

str or None

property custom: JavaScriptDict | None

A reserved subspace to store options and values for customized functionality.

Here you can add additional data for your own event callbacks and formatter callbacks.

Return type:

dict or None

property dash_style: str | None

Name of the dash style to use for the graph, or for some series types the outline of each shape.

Accepts one of the following values:

  • ‘Dash’,

  • ‘DashDot’,

  • ‘Dot’,

  • ‘LongDash’,

  • ‘LongDashDot’,

  • ‘LongDashDotDot’,

  • ‘ShortDash’,

  • ‘ShortDashDot’,

  • ‘ShortDashDotDot’,

  • ‘ShortDot’,

  • ‘Solid’

Return type:

str or None

property data: List[GanttData] | GanttDataCollection | None

Collection of data that represents the series. Defaults to None.

While the series type returns a collection of GanttData instances, it accepts as input an iterable of GanttData instances or dict instances that can be coerced to GanttData.

Return type:

list of GanttData or GanttDataCollection or None

property data_as_columns: bool | None

If True, indicates that the data is structured as columns instead of as rows. Defaults to False.

Return type:

bool or None

property data_grouping: DataGroupingOptions | None

Data grouping configures sampling the data values into larger blocks in order to ease readability and increase performance of the JavaScript charts.

Highcharts Stock by default applies data grouping when the points become closer than the number of pixels specified by the .group_pixel_width setting.

Note

If data grouping is applied, the grouping information of grouped points can be read (in JavaScript) from Point.dataGroup.

Caution

If point options other than the data itself are set, for example name, color, or custom properties, the grouping logic will not know how to group it. In this case, the options of the first point instance are copied over to the group point. This can be altered through a custom approximation function.

property data_labels: DataLabel | List[DataLabel] | None

Options for the series data labels, appearing next to each data point.

Note

To have multiple data labels per data point, you can also supply a collection of DataLabel configuration settings.

Return type:

DataLabel, list of DataLabel, or None

property data_sorting: DataSorting | None

Options for the series data sorting.

Return type:

DataSorting or None

property description: str | None

A description of the series to add to the screen reader information about the series.

Return type:

str or None

property drag_drop: DragDropOptions | None

The draggable-points module allows points to be moved around or modified in the chart.

In addition to the options mentioned under the dragDrop API structure, the module fires three (JavaScript) events:

  • point.dragStart

  • point.drag

  • point.drop

Return type:

DragDropOptions or None

property enable_mouse_tracking: bool | None

If True, enables mouse tracking for the series (used to capture point tooltips, click events on graphs and points, etc.). If False, disables mouse tracking for the series (which can help performance). Defaults to True.

Return type:

bool or None

property events: SeriesEvents | None

General event handlers for the series items.

Note

These event hooks can also be attached to the series at run time using the (JavaScript) Highcharts.addEvent() function.

Return type:

SeriesEvents or None

property find_nearest_point_by: str | None

Determines whether the series should look for the nearest point in both dimensions or just the x-dimension when hovering the series.

If None, defaults to 'xy' for scatter series and 'x' for most other series. If the data has duplicate x-values, it is recommended to set this to 'xy' to allow hovering over all points.

Applies only to series types using nearest neighbor search (not direct hover) for tooltip.

Return type:

str or None

property gap_size: int | float | Decimal | None

In combination with .gap_unit defines when to display a gap in the graph. Defaults to 0.

Note

If .data_grouping is enabled, points can be grouped into a larger time span. This can make the grouped points have a greater distance than the absolute value of the .gap_size property, which would result in data disappearing from view completely. To prevent this situation, the mentioned distance between grouped points is applied rather than the explicitly supplied .gap_size.

Tip

In practice, this option is most often used to visualize gaps in time series. In a stock chart, intraday data is available for daytime hours, while gaps will appear in nights and weekends.

Return type:

numeric or None

property gap_unit: str | None

In combination with .gap_size defines when to display a gap in the graph. Defaults to 'relative'.

Accepts two possible values:

  • 'relative' - determines the gap based on a multiple of .gap_size. For example, with a .gap_size of 5, if the distance between two points is greater than 5x the two closest points, a gap will be rendered.

  • 'value' - determines the gap based on the absolute axis values, which on a datetime axis are expressed in milliseconds.

Return type:

str or None

property get_extremes_from_all: bool | None

If True, uses the Y extremes of the total chart width or only the zoomed area when zooming in on parts of the X axis. By default, the Y axis adjusts to the min and max of the visible data.

Warning

Applies to Cartesian series only.

Return type:

bool or None

property group_padding: int | float | Decimal | None

Padding between each value group, in x axis units. Defaults to 0.2.

Return type:

numeric or None

property group_z_padding: int | float | Decimal | None

Spacing between columns along the Z axis in a 3D chart. Defaults to 1.

Return type:

numeric or None

property grouping: bool | None

If True, groups non-stacked columns. If False, renders them independent of each other. Non-grouped columns will be laid out individually and overlap each other.

Defaults to True.

Return type:

bool or None

property id: str | None

An id for the series. Defaults to None.

Hint

This can be used (in JavaScript) after render time to get a pointer to the series object through chart.get().

Return type:

str or None

property inactive_other_points: bool | None
If True, highlights only the hovered point and fades the other points.

Defaults to False.

Warning

Scatter-type series require enabling the ‘inactive’ marker state and adjusting opacity. This approach could affect performance

with large datasets.

rtype:

bool or None

property include_in_data_export: bool | None

If False, will prevent the data series from being included in any form of data export. Defaults to True.

Return type:

bool or None

property index: int | None

The index for the series in the chart, affecting the internal index in the (JavaScript) chart.series array, the visible Z-index, and the order of the series in the legend. Defaults to None.

Return type:

int or None

property keys: List[str] | None

An array specifying which option maps to which key in the data point array.

This makes it convenient to work with unstructured data arrays from different sources.

Return type:

list of str, or None

property label: SeriesLabel | None

Series labels are placed as close to the series as possible in a natural way, seeking to avoid other series. The goal of this feature is to make the chart more easily readable, like if a human designer placed the labels in the optimal position.

Note

The series labels currently work with series types having a graph or an area.

Return type:

SeriesLabel or None

property last_price: LastPriceOptions | None

Configuration of a line marking the last price from all data points (whether visible or not). Defaults to None.

See also

  • .last_visible_price

Return type:

LastPriceOptions or None

property last_visible_price: LastPriceOptions | None

Configuration of a line marking the last price from all visible data points. Defaults to None.

See also

  • .last_price

Return type:

LastPriceOptions or None

property legend_index: int | None

The sequential index for the series in the legend. Defaults to None.

Return type:

int or None

property legend_symbol: str | None

The type of legend symbol to render for the series. Accepts either 'lineMarker' or 'rectangle'. Defaults to 'rectangle'.

Return type:

str

property line_width: int | float | Decimal | None

Pixel width of the graph line. Defaults to 2.

Return type:

numeric or None

property linecap: str | None

The SVG value used for the stroke-linecap and stroke-linejoin of a line graph. Defaults to 'round', which means that lines are rounded in the ends and bends.

Return type:

str or None

property linked_to: str | None

The id of another series to link to.

Hint

The value can be ':previous' to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.

Note

If the master series uses data sorting and linked series does not have its own sorting definition, the linked series will be sorted in the same order as the master one.

Return type:

str or None

property marker: Marker | None

Options for the point markers of line-like series.

Properties like fill_color, line_color and line_width define the visual appearance of the markers. Other series types, like column series, don’t have markers, but have visual options on the series level instead.

Return type:

Marker or None

property max_point_width: int | float | Decimal | None

The maximum allowed pixel width for a column, translated to the height of a bar in a bar chart. This prevents the columns from becoming too wide when there is a small number of points in the chart. Defaults to None.

Return type:

numeric or None

property min_point_length: int | float | Decimal | None

The minimal height for a column or width for a bar. Defaults to 0.

By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3.

Warning

In stacked column charts, min_point_length might not be respected for tightly packed values.

Return type:

numeric or None

property name: str | None

The name of the series as shown in the legend, tooltip, etc. Defaults to None.

Return type:

str or None

property navigator_options: Navigator | None

Options for the corresponding navigator series if .show_in_navigator is True for this series. Defaults to None

Note

These options are merged with options in navigator.series, and will take precedence if the same option is defined both places.

Return type:

NavigatorOptions or None

property negative_color: str | Gradient | Pattern | None

The color for the parts of the graph or points that are below the AreaOptions.threshold().

Note

Zones take precedence over the negative color. Using negative_color is equivalent to applying a zone with value of 0.

Return type:

None, Gradient, Pattern, or str

property on_point: OnPointOptions | None

Options for the Series on point feature, which is currently only supported by pie and sunburst chargs.

Return type:

OnPointOptions or None

property opacity: float | None

Opacity of a series parts: line, fill (e.g. area), and labels.

Return type:

float

property partial_fill: PartialFillOptions | None

A partial fill for each point, typically used to visualize how much of a task is performed.

Note

The partial fill object can be set either on series or point level.

Return type:

PartialFillOptions or None

property point: Point | None

Properties for each single point.

Return type:

Point or None

property point_description_format: str | None

A format string to use instead of the default for point descriptions on the series. Defaults to None.

Note

Overrides the chart-wide configuration, as applicable.

Return type:

str or None

property point_description_formatter: CallbackFunction | None

Same as for Accessibility.series.description_formatter(), only for an individual series. Overrides the chart-wide configuration.

Return type:

CallbackFunction or None

property point_interval: int | float | Decimal | None

If no x values are given for the points in a series, point_interval defines the interval of the x values. Defaults to 1.

For example, if a series contains one value every decade starting from year 0, set point_interval to 10. In true datetime axes, the point_interval is set in milliseconds.

Hint

point_interval can be also be combined with point_interval_unit to draw irregular time intervals.

Note

If combined with relative_x_value, an x value can be set on each point, and the point_interval is added x times to the point_start setting.

Warning

This options applies to the series data, not the interval of the axis ticks, which is independent.

Return type:

numeric or None

property point_interval_unit: str | None

On datetime series, this allows for setting the point_interval to irregular time units, day, month, and year.

A day is usually the same as 24 hours, but point_interval_unit also takes the DST crossover into consideration when dealing with local time.

Combine this option with point_interval to draw weeks, quarters, 6 month periods, 10 year periods, etc.

Warning

This options applies to the series data, not the interval of the axis ticks, which is independent.

Return type:

str or None

property point_padding: int | float | Decimal | None

Padding between each column or bar, in x axis units. Defaults to 0.1.

Return type:

numeric or None

property point_placement: str | int | float | Decimal | None

Used to determine the placement of the point in relation to tick marks on the X axis. Defaults to None, which behaves as undefined in cartesian charts, and "between" in polar charts.

Accepts possible values:

  • 'on' - where the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north.

  • "between" - where the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

  • a numeric value - where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won’t affect axis padding.

Warning

Requires point_range to work. For column series this is computed, but for line-type series it needs to be set.

Note

For the xrange series type and gantt charts, if the Y axis is a category axis, the point_placement applies to the Y axis rather than the (typically datetime) X axis.

Return type:

str or None

property point_range: int | float | Decimal | EnforcedNullType | None

The X axis range that each point is valid for, which determines the width of the column. Defaults to EnforcedNull, which computes the range automatically.

On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.

The default EnforcedNull means it is computed automatically, but the setting can be used to override the default value.

Note

If data_sorting is enabled, the default value is implicitly adjusted to 1.

Return type:

numeric or EnforcedNullType or None

property point_start: int | float | Decimal | None

If no x values are given for the points in a series, point_start defines on what value to start. For example, if a series contains one yearly value starting from 1945, set point_start to 1945. Defaults to 0.

Note

If combined with relative_x_value, an x value can be set on each point. The x value from the point options is multiplied by point_interval and added to point_start to produce a modified x value.

Return type:

numeric or None

property point_width: int | float | Decimal | None

A pixel value specifying a fixed width for each column or bar point. When set to None, the width is calculated from the point_padding and group_padding. Defaults to None.

The width effects the dimension that is not based on the point value. For column series, this is the hoizontal length while for bar series it is the vertical length.

Return type:

numeric or None

property relative_x_value: bool | None

When True, X values in the data set are relative to the current point_start, point_interval, and point_interval_unit settings. This allows compression of the data for datasets with irregular X values. Defaults to False.

The real X values are computed on the formula f(x) = ax + b, where a is the point_interval (optionally with a time unit given by point_interval_unit), and b is the point_start.

Return type:

bool or None

property selected: bool | None

If True, the series is selected initially (by default, without user interaction). Defaults to False.

Note

If GenericTypeOptions.show_checkbox() is True, then the checkbox will be checked if selected is True.

Return type:

bool or None

property shadow: bool | ShadowOptions | None

Configuration for the shadow to apply to the tooltip. Defaults to False.

If False, no shadow is applied.

Returns:

The shadow configuration to apply or a boolean setting which hides the shadow or displays the default shadow.

Return type:

bool or ShadowOptions

property show_checkbox: bool | None

If True, a checkbox is displayed next to the legend item to allow selecting the series.

Note

The state of the checkbox is controlled by the GenericTypeOptions.selected() property.

Return type:

bool or None

property show_in_legend: bool | None

Whether to display this particular series or series type in the legend. Standalone series are shown in the legend by default, and linked series are not.

Return type:

bool or None

property show_in_navigator: bool | None

If True, shows the series in the navigator. Defaults to None.

Note

Takes precedence over Navigator.base_series if provided.

Return type:

bool or None

property skip_keyboard_navigation: bool | None

If True, the accessibility module will skip past this series when executing keyboard navigation.

Return type:

bool or None

property soft_threshold: bool | None

When True, the series will not cause the Y axis to cross the zero plane (or threshold option) unless the data actually crosses the plane. Defaults to True.

For example, if False, a series of 0, 1, 2, 3 will make the Y axis show negative values according to the min_padidng option. If True, the Y axis starts at 0.

Return type:

bool

property sonification: SeriesSonification | None

Sonification configuration for the series type/series.

Return type:

SeriesSonification or None

property stack: str | None

Indicates the “stack” into which the series should be grouped, if the chart groups series into stacks. Defaults to None.

Note

The value can be a string or a numeric value, provided that series in the same stack all have the same value when converted to a string. For ease of ues, Highcharts for Python will attempt to force the conversion of the relevant value to a string.

Return type:

str or None

property stacking: str | None

Whether to stack the values of each series on top of each other. Defaults to None.

Acceptable values are:

  • None to disable stacking,

  • "normal" to stack by value or

  • "percent"

  • 'stream' (for streamgraph series type only)

  • 'overlap' (for waterfall series type only)

Note

When stacking is enabled, data must be sorted in ascending X order.

Return type:

str or None

property states: States | None

Configuration for state-specific configuration to apply to the data series.

Return type:

States or None

property step: str | None

Whether to apply steps to the line. Defaults to None.

Possible values are:

  • None

  • 'left'

  • 'center'

  • 'right'

Return type:

str or None

property sticky_tracking: bool | None

Sticky tracking of mouse events.

When True, the (JavaScript) mouseOut event on a series is not triggered until the mouse moves over another series, or out of the plot area.

When False, the (JavaScript) mouseOut event on a series is triggered when the mouse leaves the area around the series’ graph or markers. This also implies the tooltip when not shared.

When False and PlotOptions.tooltip.shared() is also False, the tooltip will be hidden when moving the mouse between series.

Defaults to True for line and area type series, but to False for columns, pies, etc.

Note

The boost module will force this option because of technical limitations.

Return type:

bool or None

property threshold: int | float | Decimal | EnforcedNullType | None

The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. Defaults to 0.

If EnforcedNullType, the columns extend from the padding Y axis minimum.

Return type:

numeric or EnforcedNullType or None

property tooltip: Tooltip | None

A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.

Return type:

Tooltip or None

property turbo_threshold: int | None

When a series contains a data array longer than this value, only one dimensional arrays of numbers, or two dimensional arrays with x and y values are allowed. Also, only the first point is tested, and the rest are assumed to be the same format. This saves expensive data checking and indexing in long series. Set it to 0 or None to disable.

Defaults to 1000.

Note

In boost mode, turbo threshold is forced. Only array of numbers or two dimensional arrays are allowed.

Return type:

int or None

property type: str

Indicates the type of series that is represented by this instance.

Warning

This proprety is read-only!

Return type:

str

property visible: bool | None

If True, the series is initially visible. If False, the series is hidden by default. Defaults to True.

Return type:

bool or None

property x_axis: str | int | None

When using multiple X-axes, this setting determines on which axis the series should be drawn. Its value should be either a numerical index position in the Options.x_axis() array (starting at 0), or a str indicating the id of the axis to which the series should be connected. Defaults to None, which behaves as if the value were set to 0.

Return type:

str, int, or None

property y_axis: str | int | None

When using multiple Y-axes, this setting determines on which axis the series should be drawn. Its value should be either a numerical index position in the Options.y_axis() array (starting at 0), or a str indicating the id of the axis to which the series should be connected. Defaults to None, which behaves as if the value were set to 0.

Return type:

str, int, or None

property z_index: int | float | Decimal | None

The visual z-index of the series. Defaults to None.

Return type:

numeric or None

property zone_axis: str | None

Defines the Axis on which the zones are applied. Defaults to 'y'.

Return type:

str or None

property zones: List[Zone] | None

An array defining zones within a series. Defaults to None.

Zones can be applied to the X axis, Y axis or Z axis for bubbles, according to the zone_axis setting.

Warning

The zone definitions have to be in ascending order regarding to the value.

Return type:

None or list of Zone instances