.generic
class: GenericAxis
- class GenericAxis(**kwargs)[source]
Base class that is used for defining axis classes.
Class Inheritance
- 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. IfNone
, will create a new instance 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
.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
- classmethod from_dict(as_dict: dict, allow_snake_case: bool = True)
Construct an instance of the class from a
dict
object.
- classmethod from_js_literal(as_str_or_file, allow_snake_case: bool = True, _break_loop_on_failure: bool = False)
Return a Python object representation of a Highcharts JavaScript object literal.
- Parameters:
as_str_or_file (
str
) – The JavaScript object literal, represented either as astr
or as a filename which contains the JS object literal.allow_snake_case (
bool
) – IfTrue
, interpretssnake_case
keys as equivalent tocamelCase
keys. Defaults toTrue
._break_loop_on_failure (
bool
) – IfTrue
, will break any looping operations in the event of a failure. Otherwise, will attempt to repair the failure. Defaults toFalse
.
- Returns:
A Python object representation of the Highcharts JavaScript object literal.
- Return type:
HighchartsMeta
- classmethod from_json(as_json_or_file, allow_snake_case: bool = True)
Construct an instance of the class from a JSON string.
- Parameters:
as_json_or_file – The JSON string for the object or the filename of a file that contains the JSON string.
allow_snake_case (
bool
) – IfTrue
, interpretssnake_case
keys as equivalent tocamelCase
keys. Defaults toTrue
.
- Returns:
A Python objcet representation of
as_json
.- Return type:
HighchartsMeta
- 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.
- 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
Return the object represented as a
str
containing the JavaScript object literal.- Parameters:
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.
- 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
- property accessibility: AxisAccessibility | None
Accessibility options for an axis object.
- Return type:
AxisAccessibility
orNone
- property angle: int | float | Decimal | None
In a polar chart, this is the angle of the Y axis in degrees, where
0
is up and90
is right. Defaults to0
.Note
The angle determines the position of the axis line and the labels, though the coordinate system is unaffected.
- Return type:
numeric or
None
- property ceiling: int | float | Decimal | None
The highest allowed value for automatically computed axis extremes. Defaults to
None
.- Return type:
numeric or
None
- property class_name: str | None
A class name that can then be used for styling the axis using CSS. Defaults to
None
.Warning
The the
class_name
is applied to group elements for the grid, axis elements, and labels.
- property crossing: int | float | Decimal | None
The value on a perpendicular axis where this axis should cross. Defaults to
None
.Tip
This
is typically used on mathematical plots where the axes cross at
0
.Warning
When
.crossing
is set, space will not be reserved at the sides of the chart for axis labels and title, so those may be clipped. In this case, it is better to place the axes without the.crossing
option.- rtype:
numeric
- property end_on_tick: bool | None
If
True
forces the axis to end on a tick. Defaults toFalse
forXAxis
,True
forYAxis
, andFalse
forZAxis
.Hint
Use this option with the
GenericAxis.max_padding()
setting to control the axis end.Warning
This option is always disabled on a
YAxis
, when panning type is eithery
orxy
.
- property events: AxisEvents | None
Event handlers for the axis.
- Return type:
SeriesEvents
orNone
- property floor: int | float | Decimal | None
The lowest allowed value for automatically computed axis extremes. Defaults to
None
.- Return type:
numeric or
None
- property grid_line_color: str | Gradient | Pattern | None
Color of the grid lines extending the ticks across the plot area. Defaults to
'#e6e6e6'
.
- property grid_line_dash_style: str | None
Name of the dash style to use for the grid lines. Defaults to
Solid
.Accepts one of the following values:
‘Dash’,
‘DashDot’,
‘Dot’,
‘LongDash’,
‘LongDashDot’,
‘LongDashDotDot’,
‘ShortDash’,
‘ShortDashDot’,
‘ShortDashDotDot’,
‘ShortDot’,
‘Solid’
- property grid_line_interpolation: str | None
Whether the grid lines should draw as a polygon with straight lines between categories, or as circles. Defaults to
None
.Acceptable values are:
'circle'
'polygon'
Warning
Only applies to polar charts.
- property grid_line_width: int | float | Decimal | None
The width of the grid lines extending the ticks across the plot area. Defaults to
0
forXAxis
,1
forYAxis
, andNone
forZAxis
.- Return type:
numeric or
None
- property grid_z_index: int | float | Decimal | None
The Z-index of the grid lines. Defaults to
1
.- Return type:
numeric or
None
- property id: str | None
An id assigned to the axis. Defaults to
None
.Hint
This can be used after rendering to get a pointer to the axis object through the (JavaScript)
chart.get()
method.
- property labels: AxisLabelOptions | None
Configuration settings for the axis labels, which show the number or category for each tick. Defaults to
None
.- Return type:
AxisLabeLOptions
orNone
- property margin: int | float | Decimal | None
If there are multiple axes on the same side of the chart, the margin between the axes, expressed in pixels. Defaults to
0
for vertical axes,15
for horizontal axes.- Return type:
numeric or
None
- property max: int | float | Decimal | date | datetime | None
The maximum value of the axis. If
None
, themax
value is automatically calculated. Defaults toNone
.Note
If the
GenericAxis.end_on_tick()
isTrue
, themax
value might be rounded up.Warning
If a
GenericAxis.tick_amount()
is set, the axis may be extended beyond the setmax
in order to reach the given number of ticks. The same may happen in a chart with multiple axes, determined byChart.align_ticks()
where atick_amount
is applied internally.- Return type:
numeric or
None
- property max_padding: int | float | Decimal | None
Padding of the max value relative to the length of the axis. Defaults to
0.01
.For example, a value of
0.05
will make a 100px axis 5px longer.Hint
This is useful when you don’t want the highest data value to appear on the edge of the plot area.
Warning
When the
GenericAxis.max()
option is set or a max extreme is set using (JavaScript)axis.setExtremes()
, themax_padding
will be ignored.- Return type:
numeric or
None
- property min: int | float | Decimal | date | datetime | None
The minimum value of the axis. If
None
, themin
value is automatically calculated. Defaults toNone
.Note
If the
GenericAxis.start_on_tick()
isTrue
, themin
value might be rounded down.Warning
The automatically-calculated
min
value is also affected by:GenericAxis.min_range()
GenericTypeOptions.threshold()
SeriesOptions.soft_threshold()
- Return type:
numeric or
None
- property min_padding: int | float | Decimal | None
Padding of the min value relative to the length of the axis. Defaults to
0.01
.For example, a value of
0.05
will make a 100px axis 5px longer.Hint
This is useful when you don’t want the lowest data value to appear on the edge of the plot area.
Warning
When the
GenericAxis.min()
option is set or a min extreme is set using (JavaScript)axis.setExtremes()
, themin_padding
will be ignored.- Return type:
numeric or
None
- property minor_grid_line_color: str | Gradient | Pattern | None
Color of the minor (secondary) grid lines. Defaults to
'#f2f2f2'
.
- property minor_grid_line_dash_style: str | None
Name of the dash style to use for the grid lines. Defaults to
Solid
.Accepts one of the following values:
‘Dash’,
‘DashDot’,
‘Dot’,
‘LongDash’,
‘LongDashDot’,
‘LongDashDotDot’,
‘ShortDash’,
‘ShortDashDot’,
‘ShortDashDotDot’,
‘ShortDot’,
‘Solid’
- property minor_grid_line_width: int | float | Decimal | None
Width of the minor, secondary grid lines. Defaults to
1
.- Return type:
numeric or
None
- property minor_tick_color: str | Gradient | Pattern | None
Color for the minor tick marks. Defaults to
'#999999'
.
- property minor_tick_interval: int | float | Decimal | str | None
Specific tick interval in axis units for the minor ticks. Defaults to
None
.On a linear axis, if
"auto"
, the minor tick interval is calculated as a fifth of theGenericAxis.tick_interval()
. IfNone
, minor ticks are not shown.On logarithmic axes, the unit is the power of the value. For example, setting the
minor_tick_interval
to1
puts one tick on each of 0.1, 1, 10, 100, etc. Setting the value to0.1
produces 9 ticks between 1 and 10, 10 and 100 etc.
- property minor_tick_length: int | float | Decimal | None
The length of the minor tick marks, in pixels. Defaults to
2
.- Return type:
numeric or
None
- property minor_tick_position: str | None
The position of the minor tick marks relative to the axis line. Defaults to
'outside'
.Accepts either:
'outside'
'inside'
- property minor_tick_width: int | float | Decimal | None
The width of the minor tick marks, in pixels. Defaults to
0
.- Return type:
numeric or
None
- property minor_ticks: bool | None
Enable (
True
) or disable (False
) minor ticks. Defaults toFalse
.Note
Unless
GenericAxis.minor_tick_interval()
is set, the minor tick interval is calculated as a fifth of the tickInterval.Note
On a logarithmic axis, minor ticks are laid out based on a best guess, attempting to fit approximately 5 minor ticks between each major tick.
Warning
On category axes (where text is displayed in each position, rather than a numerical value), minor ticks are not supported.
- property panning_enabled: bool | None
If
True
, allows the axis to pan.False
prevents the axis from panning. Defaults toTrue
.Note
If
Chart.panning()
isTrue
and this option isFalse
, then this specific axis will not pan.
- property reversed: bool | None
If
True
, reverses the axis so that the highest number is closest to the origin. Defaults toNone
.Note
If the chart is inverted, the
XAxis
is reversed by default.
- property show_first_label: bool | None
If
True
, renders the first tick label by the axis. Defaults toTrue
.
- property show_last_label: bool | None
If
True
, renders the last tick label by the axis. IfNone
, defaults toTrue
on cartesian charts andFalse
on polar charts.
- property soft_max: int | float | Decimal | None
A soft maximum for the axis. Defaults to
None
.If the series data maximum is less than this, the axis will stay at this maximum, but if the series data maximum is higher than this value, the axis will flex to show all data.
- Return type:
numeric or
None
- property soft_min: int | float | Decimal | None
A soft minimum for the axis. Defaults to
None
.If the series data minimum is less than this, the axis will stay at this minimum, but if the series data minimum is higher than this value, the axis will flex to show all data.
- Return type:
numeric or
None
- property start_of_week: int | None
For datetime axes, this decides where to put the tick between weeks. Defaults to
1
(Monday).Note
0
= Sunday,1
= Monday, etc.Hint
As a convenience, if you supply a string with the day of week (e.g.
'Monday'
), the Highcharts for Python library wlil automatically convert it to the appropriate numerical value.
- property start_on_tick: bool | None
If
True
forces the axis to start on a tick. Defaults toFalse
forXAxis
,True
forYAxis
, andFalse
forZAxis
.Hint
Use this option with the
GenericAxis.min_padding()
setting to control the axis start.Warning
This option is always disabled on a
YAxis
, when panning type is eithery
orxy
.
- property tick_amount: int | None
The amount of ticks to draw on the axis. Defaults to
None
.Hint
This provides greater control for aligning the ticks of multiple charts or panes within a chart.
Warning
This option overrides the
GenericAxis.tick_pixel_interval()
option.Note
This option only has an effect on linear axes. Datetime, logarithmic, or category axes are not affected.
- property tick_color: str | Gradient | Pattern | None
Color for the main tick marks. Defaults to
'#ccd6eb'
.
- property tick_interval: int | float | Decimal | None
The interval of the tick marks in axis units. Defaults to
None
.When
None
, thetick_interval
is automatically computed to approximately followGenericAxis.tick_pixel_interval()
on linear and datetime axes. On category axes,None
will default to1
(one category).Note
Datetime axes are based on milliseconds, so for example an interval of one day is expressed as
24 * 3600 * 1000
.On logarithmic axes, the unit is the power of the value. For example, setting the
tick_interval
to1
puts one tick on each of 0.1, 1, 10, 100, etc. Setting the value to0.1
produces 9 ticks between 1 and 10, 10 and 100 etc.Warning
If the chart has multiple axes, the
GenericAxis.align_ticks()
setting may interfere withtick_interval
.
- property tick_length: int | float | Decimal | None
The length of the main tick marks, in pixels. Defaults to
10
.- Return type:
numeric or
None
- property tick_pixel_interval: int | float | Decimal | None
If
tick_interval
isNone
, this setting establishes the approximate interval between major tick marks, expressed in pixels. Defaults to100
.Warning
Does not apply to categorized axes.
Note
The tick interval is also influenced by the
min_tick_interval
setting, which, by default, prevents ticks from being denser than the data points.- Return type:
numeric or
None
- property tick_position: str | None
The position of the major tick marks relative to the axis line. Defaults to
'outside'
.Accepts either:
'outside'
'inside'
- property tick_positioner: CallbackFunction | None
A JavaScript callback function returning an array defining where the ticks are laid out on the axis.
Warning
This overrides the default behaviour of
tick_pixel_interval
andtick_interval
.The automatic tick positions are accessible (in JavaScript) through
this.tickPositions
and can be modified by the callback.- Return type:
CallbackFunction
orNone
- property tick_positions: List[int | float | Decimal] | None
An array that explicitly positions the major tick marks along the axis. Defaults to
None
.Warning
Setting tick positions explicitly using this setting overrides the default behavior of
tick_pixel_interval
andtick_interval
.
- property tick_width: int | float | Decimal | None
The width of the main tick marks, in pixels. Defaults to
0
on category axes, otherwise defaults to1
.- Return type:
numeric or
None
- property tickmark_placement: str | None
If
'on'
, the tick mark is placed in the center of the category. If'between'
, the tick mark is placed between categories. IfNone
, defaults to'between'
iftick_interval
is1
, otherwise defaults to'on'
.Warning
Applies to category axes only.
- property type: str | None
The type of axis. Defaults to
'linear'
.Accepts the following values:
'linear'
'logarithmic'
'datetime'
'category'
Note
In a
'datetime'
axis, the numbers are given in milliseconds, and tick marks are placed on appropriate values like full hours or days.Note
In a
'category'
axis, either thecategories
setting determines the categories rendered on the axis, or the categories are derived from the point names of the chart’s series.
- property unique_names: bool | None
If
True
, points are placed on the axis according to their names. If the same point name is repeated in the same or another series, the point is placed on the same axis position as other points of the same name. WhenFalse
, the points are laid out in increasing positions regardless of their names, and the axis category will take the name of the last point in each position. Defaults toTrue
.Warning
Applies only to category axes.
- property units: List[List[str | List[int | float | Decimal | EnforcedNullType | None]]] | None
An array determining what time intervals the data is allowed to be grouped to. Each array item is an array where the first value is the time unit expressed as a
str
and the second value is another array of allowed multiples.Warning
Only applies to datetime axes.
Defaults to
None
, which behaves as:{ 'units': [ [ 'millisecond', # unit name [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] # allowed multiples ], [ 'second', [1, 2, 5, 10, 15, 30] ], [ 'minute', [1, 2, 5, 10, 15, 30] ], [ 'hour', [1, 2, 3, 4, 6, 8, 12] ], [ 'day', [1] ], [ 'week', [1] ], [ 'month', [1, 3, 6] ], [ 'year', None ] ] }