HexbinChart
Point density on the plane, as colored hexagons. The Hexbin Chart guide shows every feature on real data; this page is the contract: the function, the shape of its data, the keys style takes, and the constant each parameter accepts.
Function
datachart.charts.HexbinChart
HexbinChart(
data: HexbinDataAttrs | list[HexbinDataAttrs],
*,
title: str | None = None,
xlabel: str | None = None,
ylabel: str | None = None,
subtitle: str | list[str | None] | None = None,
emphasis: None = None,
emphasis_rule: EmphasisRuleAttrs | None = None,
figsize: FIG_SIZE | tuple[float, float] | None = None,
xmin: int | float | datetime | None = None,
xmax: int | float | datetime | None = None,
ymin: int | float | None = None,
ymax: int | float | None = None,
show_legend: bool | None = None,
legend: LegendSettingAttrs | None = None,
show_grid: SHOW_GRID | str | bool | None = None,
show_colorbars: bool = True,
aspect_ratio: ASPECT_RATIO | str | None = None,
scalex: SCALE | str | None = None,
scaley: SCALE | str | None = None,
subplots: bool | None = None,
max_cols: int | None = None,
sharex: bool | None = None,
sharey: bool | None = None,
style: (
HexbinStyleAttrs
| list[HexbinStyleAttrs | None]
| None
) = None,
gridsize: int | list[int | None] | None = None,
reduce: (
HEXBIN_REDUCE | str | list[str | None] | None
) = None,
mincnt: int | list[int | None] | None = None,
norm: str | list[str | None] | None = None,
vmin: float | list[float | None] | None = None,
vmax: float | list[float | None] | None = None,
valfmt: (
VALUE_FORMAT | str | list[str | None] | None
) = None,
xticks: (
list[int | float | datetime]
| list[list[int | float | datetime]]
| None
) = None,
xticklabels: list[str] | list[list[str]] | None = None,
xtickrotate: int | list[int | None] | None = None,
yticks: (
list[int | float] | list[list[int | float]] | None
) = None,
yticklabels: list[str] | list[list[str]] | None = None,
ytickrotate: int | list[int | None] | None = None,
xticks_format: (
VALUE_FORMAT | DATE_FORMAT | str | None
) = None,
yticks_format: (
VALUE_FORMAT | DATE_FORMAT | str | None
) = None,
vlines: (
VLineSettingAttrs
| list[VLineSettingAttrs]
| list[
VLineSettingAttrs
| list[VLineSettingAttrs]
| None
]
| None
) = None,
hlines: (
HLineSettingAttrs
| list[HLineSettingAttrs]
| list[
HLineSettingAttrs
| list[HLineSettingAttrs]
| None
]
| None
) = None,
vspans: (
VSpanSettingAttrs
| list[VSpanSettingAttrs]
| list[
VSpanSettingAttrs
| list[VSpanSettingAttrs]
| None
]
| None
) = None,
hspans: (
HSpanSettingAttrs
| list[HSpanSettingAttrs]
| list[
HSpanSettingAttrs
| list[HSpanSettingAttrs]
| None
]
| None
) = None,
colorbar: (
ColorbarSettingAttrs
| list[ColorbarSettingAttrs | None]
| None
) = None,
texts: (
TextSettingAttrs
| list[TextSettingAttrs]
| list[
TextSettingAttrs | list[TextSettingAttrs] | None
]
| None
) = None
) -> plt.Figure
Creates the hexbin chart.
A hexbin chart tiles the plane with hexagons and colors each by the number
of points falling in it — or, with a per-point c, by an aggregate of
those values. Use it where a scatter chart turns into an opaque blob:
thousands of points, overlapping clusters, or a value that varies across
the plane. For the points themselves use
ScatterChart; for a smooth density
estimate use ContourChart on
stats.kde2d.
Examples:
>>> from datachart.charts import HexbinChart
>>> figure = HexbinChart(
... data={
... "x": [0.1, 0.4, 0.5, 1.2, 1.3, 2.0],
... "y": [0.2, 0.3, 0.6, 1.1, 1.4, 2.1],
... },
... title="Basic Hexbin Chart",
... xlabel="X",
... ylabel="Y"
... )
| PARAMETER | DESCRIPTION |
|---|---|
data
|
The points to bin: a dictionary with the
TYPE:
|
title
|
The title of the chart.
TYPE:
|
xlabel
|
The x-axis label.
TYPE:
|
ylabel
|
The y-axis label.
TYPE:
|
subtitle
|
The subtitle(s) for individual charts.
TYPE:
|
emphasis
|
Not supported: a hexbin chart is a single colormapped layer
with no series to mute or highlight. Passing a value raises
TYPE:
|
emphasis_rule
|
A rule that highlights the bins matching it and mutes the
rest:
TYPE:
|
figsize
|
The size of the figure.
TYPE:
|
xmin
|
The minimum x-axis value.
TYPE:
|
xmax
|
The maximum x-axis value.
TYPE:
|
ymin
|
The minimum y-axis value.
TYPE:
|
ymax
|
The maximum y-axis value.
TYPE:
|
show_legend
|
Whether to show the legend; it lists the labelled reference lines and bands.
TYPE:
|
legend
|
The per-figure legend setting: title, location, column count
and alignment; each field falls back to the theme. See
TYPE:
|
show_grid
|
Which grid lines to show (e.g., "both", "x", "y");
TYPE:
|
show_colorbars
|
Whether to show the colorbar(s).
TYPE:
|
aspect_ratio
|
The aspect ratio of the axes ("auto" or "equal"). See
TYPE:
|
scalex
|
The x-axis scale (e.g., "log", "linear").
TYPE:
|
scaley
|
The y-axis scale (e.g., "log", "linear").
TYPE:
|
subplots
|
Whether to create separate subplots for each chart.
TYPE:
|
max_cols
|
Maximum number of columns in subplots (when subplots=True).
TYPE:
|
sharex
|
Whether to share the x-axis in subplots.
TYPE:
|
sharey
|
Whether to share the y-axis in subplots.
TYPE:
|
style
|
Style configuration(s) for the hexbin chart(s).
TYPE:
|
gridsize
|
The number of hexagons across the x-axis; the
TYPE:
|
reduce
|
How the
TYPE:
|
mincnt
|
The point count below which a hexagon stays blank; every hexagon is drawn by default.
TYPE:
|
norm
|
Value normalization method(s) of the colormap;
TYPE:
|
vmin
|
Minimum value(s) for normalization.
TYPE:
|
vmax
|
Maximum value(s) for normalization.
TYPE:
|
valfmt
|
Format string(s) for the colorbar tick labels, with the value named
TYPE:
|
xticks
|
Custom x-axis tick positions.
TYPE:
|
xticklabels
|
Custom x-axis tick labels.
TYPE:
|
xtickrotate
|
Rotation angle for x-axis tick labels.
TYPE:
|
yticks
|
Custom y-axis tick positions.
TYPE:
|
yticklabels
|
Custom y-axis tick labels.
TYPE:
|
ytickrotate
|
Rotation angle for y-axis tick labels.
TYPE:
|
xticks_format
|
The x-axis tick label format: a
TYPE:
|
yticks_format
|
The y-axis tick label format, as
TYPE:
|
vlines
|
Vertical line(s) to plot.
TYPE:
|
hlines
|
Horizontal line(s) to plot.
TYPE:
|
vspans
|
Vertical reference band(s) to shade, between two x positions.
TYPE:
|
hspans
|
Horizontal reference band(s) to shade, between two y positions.
TYPE:
|
colorbar
|
The colorbar setting(s): label, location, tick format, and tick
positions. See
TYPE:
|
texts
|
Text annotation(s) to draw.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
plt.Figure
|
The figure containing the hexbin chart. |
Data
Each record in data is a HexbinDataAttrs.
datachart.typings.HexbinDataAttrs
Bases: TypedDict
The data attributes for the hexbin chart.
| ATTRIBUTE | DESCRIPTION |
|---|---|
x |
The x values of the points.
TYPE:
|
y |
The y values of the points, one per
TYPE:
|
c |
The value of each point, one per
TYPE:
|
Style
style takes the keys of HexbinStyleAttrs. The chart also reads the shared groups it draws: reference lines (VLineStyleAttrs and HLineStyleAttrs), reference bands (VSpanStyleAttrs and HSpanStyleAttrs) and text annotations (TextStyleAttrs). Every key falls back to the theme, so the same keys set the default look through config.
datachart.typings.HexbinStyleAttrs
Bases: TypedDict
The typing for the hexbin chart style.
| ATTRIBUTE | DESCRIPTION |
|---|---|
plot_hexbin_cmap |
The colormap of the hexagons (palette name, single color, list of hex colors, or colormap);
TYPE:
|
plot_hexbin_alpha |
The alpha value of the hexagons.
TYPE:
|
plot_hexbin_edge_width |
The width of the hexagon edges;
TYPE:
|
plot_hexbin_edge_color |
The color of the hexagon edges.
TYPE:
|
plot_hexbin_gridsize |
The number of hexagons across the x-axis when the chart sets no
TYPE:
|
Constants
The parameters that accept a constant, with the class in datachart.constants that lists its values.
| Parameter | Constant |
|---|---|
reduce |
HEXBIN_REDUCE |
figsize |
FIG_SIZE |
show_grid |
SHOW_GRID |
aspect_ratio |
ASPECT_RATIO |
scalex |
SCALE |
scaley |
SCALE |
norm |
NORMALIZE |
valfmt |
VALUE_FORMAT |
xticks_format |
VALUE_FORMAT, DATE_FORMAT |
yticks_format |
VALUE_FORMAT, DATE_FORMAT |
colorbar={"location": ..., "format": ..., "orientation": ...} |
COLORBAR_LOCATION, VALUE_FORMAT, ORIENTATION |