TauXYStyle¶
Inherits: Resource
Controls the visual appearance the XY plot.
Description¶
TauXYStyle controls axis colors, tick dimensions, tick label gaps, plot padding, pane spacing, and the series color palette for an XY plot rendered by TauPlot.
TauXYStyle lives on TauXYConfig.style. It is created automatically when TauXYConfig is instantiated, so it is never null.
Three-layer cascade¶
Each property's final value is resolved through the following cascade, in order:
-
Built-in default
The final value starts from the built-in default. -
Theme value
If the active Godot theme defines a matching property on theTauPlotnode, that value replaces the built-in default. -
User override
If the property is explicitly set on theTauXYStyleinstance, that value overrides both the theme and the built-in default.
In short:
- the last layer that provides a value wins
- the Godot theme is suited for project-wide styling
TauXYStyleis suited for per-plot styling
Override detection limitation
A property is considered overridden only when its value differs from the corresponding built-in default constant.
As a result, assigning a property to exactly its built-in default value does not force it to override the theme.
Example:
- built-in default
label_font_sizeis16 - the theme sets
font_sizeto20 - setting
style.label_font_size = 16does not override the theme
Theming¶
TauXYStyle reads theme values from the TauPlot theme type variation. Its base type is PanelContainer.
A theme resource using TauPlot must therefore include a base type declaration:
The following theme properties are used:
| Theme property | Description |
|---|---|
series_color_i: Color |
Maps to series_colors[i] where i is the series index. See note 1. |
series_alpha_percent: int |
Maps to series_alpha. Stored as an integer percentage (0–100), resolved as percent / 100.0, clamped to [0.0, 1.0]. |
xy_axis_color: Color |
Maps to axis_color. |
font: Font |
Maps to label_font. |
font_size: int |
Maps to label_font_size. |
font_color: Color |
Maps to label_color. |
xy_x_major_tick_length: int |
Maps to x_major_tick_length_px. |
xy_x_major_tick_thickness: int |
Maps to x_major_tick_thickness_px. |
xy_y_major_tick_length: int |
Maps to y_major_tick_length_px. |
xy_y_major_tick_thickness: int |
Maps to y_major_tick_thickness_px. |
xy_minor_tick_length_ratio_percent: int |
Maps to minor_tick_length_ratio. Stored as an integer percentage (0–100), resolved as percent / 100.0, clamped to [0.0, 1.0]. |
xy_x_minor_tick_thickness: int |
Maps to x_minor_tick_thickness_px. |
xy_y_minor_tick_thickness: int |
Maps to y_minor_tick_thickness_px. |
xy_x_tick_x_label_gap: int |
Maps to x_tick_x_label_gap_px. |
xy_y_tick_y_label_gap: int |
Maps to y_tick_y_label_gap_px. |
xy_padding_left: int |
Maps to padding_left_px. |
xy_padding_right: int |
Maps to padding_right_px. |
xy_padding_top: int |
Maps to padding_top_px. |
xy_padding_bottom: int |
Maps to padding_bottom_px. |
xy_pane_gap: int |
Maps to pane_gap_px. |
Side effects¶
Some property changes trigger a full layout recomputation. Others only trigger a redraw.
Layout-affecting (trigger both layout and redraw): label_font, label_font_size, x_major_tick_length_px, x_major_tick_thickness_px, y_major_tick_length_px, y_major_tick_thickness_px, x_tick_x_label_gap_px, y_tick_y_label_gap_px, padding_left_px, padding_right_px, padding_top_px, padding_bottom_px, pane_gap_px.
Visual-only (trigger redraw only): axis_color, series_colors, series_alpha, label_color, x_minor_tick_thickness_px, y_minor_tick_thickness_px, minor_tick_length_ratio.
Example¶
var config := TauXYConfig.new()
config.style.axis_color = Color(0.8, 0.8, 0.8)
config.style.pane_gap_px = 8
config.style.series_colors = [Color.CYAN, Color.ORANGE, Color.LIME_GREEN]
config.style.series_alpha = 0.85
Notes¶
- Partial series color palette override from theme. When the theme defines
series_color_0,series_color_1, ... entries, they are read sequentially starting from index 0 and stopping at the first missing index. Each entry overwrites the palette at the matching position. If the theme defines fewer colors than the built-in palette, the remaining entries keep their built-in values. If the theme defines more, the palette grows to accommodate them. Gaps are not supported: ifseries_color_0is absent, no theme colors are loaded at all, even if higher indices exist.
Constructor¶
new()¶
Creates a new TauXYStyle with all properties set to their built-in defaults. Properties left at their defaults remain theme-overridable.
Properties¶
series_colors¶
series_colors: Array[Color]
The ordered color palette assigned to series. Default is an eight-color palette.
Series colors are indexed by their series index in the Dataset. Assigning a non-empty array that differs from the built-in default replaces the palette entirely for that plot.
series_alpha¶
series_alpha: float
The alpha value applied to all series colors, overriding their alpha channel. Default is 1.0.
Valid range is 0.0 (fully transparent) to 1.0 (fully opaque). This value replaces the alpha channel of every series color, ignoring any alpha encoded in the color itself.
axis_color¶
axis_color: Color
The color used to draw axis lines and tick marks. Default is Color(1, 1, 1, 1).
label_font¶
label_font: Font
The font used to render tick labels on both axes. Default is null.
If null, the plot reads the font from the Godot theme entry font on the TauPlot node. If the theme does not define it either, Godot's built-in default font applies.
label_font_size¶
label_font_size: int
The font size in pixels used for tick labels. Default is 16.
label_color¶
label_color: Color
The color used to render tick labels on both axes. Default is Color(1, 1, 1, 1).
x_major_tick_length_px¶
x_major_tick_length_px: int
The length in pixels of major tick marks on the X axis, measured perpendicular to the axis line. Default is 4.
This value is orientation-independent: it applies regardless of which edge carries the X axis.
x_major_tick_thickness_px¶
x_major_tick_thickness_px: int
The stroke width in pixels of major tick marks on the X axis. Default is 1.
y_major_tick_length_px¶
y_major_tick_length_px: int
The length in pixels of major tick marks on the Y axis, measured perpendicular to the axis line. Default is 4.
This value is orientation-independent: it applies regardless of which edge carries the Y axis.
y_major_tick_thickness_px¶
y_major_tick_thickness_px: int
The stroke width in pixels of major tick marks on the Y axis. Default is 1.
minor_tick_length_ratio¶
minor_tick_length_ratio: float
The length of a minor tick mark as a fraction of the corresponding major tick length. Default is 0.5.
Valid range is 0.0 to 1.0. This ratio is shared across both axes.
x_minor_tick_thickness_px¶
x_minor_tick_thickness_px: int
The stroke width in pixels of minor tick marks on the X axis. Default is 1.
y_minor_tick_thickness_px¶
y_minor_tick_thickness_px: int
The stroke width in pixels of minor tick marks on the Y axis. Default is 1.
x_tick_x_label_gap_px¶
x_tick_x_label_gap_px: int
The pixel gap between the end of an X axis tick mark and its label. Default is 4.
y_tick_y_label_gap_px¶
y_tick_y_label_gap_px: int
The pixel gap between the end of a Y axis tick mark and its label. Default is 4.
padding_left_px¶
padding_left_px: int
The pixel padding between the left edge of the plot node and the left edge of the plot area. Default is 4.
padding_right_px¶
padding_right_px: int
The pixel padding between the right edge of the plot node and the right edge of the plot area. Default is 4.
padding_top_px¶
padding_top_px: int
The pixel padding between the top edge of the plot node and the top edge of the plot area. Default is 4.
padding_bottom_px¶
padding_bottom_px: int
The pixel padding between the bottom edge of the plot node and the bottom edge of the plot area. Default is 4.
pane_gap_px¶
pane_gap_px: int
The pixel gap between adjacent panes along the stacking direction. Default is 4.
This property has no visible effect when the plot contains only one pane.
Related Classes¶
TauPlotThe plot node. ConsumesTauXYStyleduring rendering and theme resolution.TauXYConfigOwns theTauXYStyleinstance via itsstyleproperty.TauPaneStyleSibling style resource for individual panes.TauBarStyleSibling style resource for bar overlays.TauScatterStyleSibling style resource for scatter overlays.TauLegendStyleSibling style resource for the legend.