Home
Charts
Axes and Scales
TerraFluent.Chart.Reporting
Axes and Scales
Axis configuration is where most real charts need work — two series on incompatible scales, a log axis for a wide range, or a reference band the reader has to see.
Read the reference documentation →
Secondary Y-Axis
WithYAxis2() — columns on left axis, line on right axis.
Revenue & Profit Margin — WithYAxis2() — columns on left axis, line on right axis
Revenue & Profit Margin — WithYAxis2() — columns on left axis, line on right axis — Series: Revenue, Margin %. Categories: Q1 2024 to Q4 2025. Values range from 22 to 540.
Revenue & Profit Margin
WithYAxis2() — columns on left axis, line on right axis
0
100
200
300
400
500
Revenue ($k)
Q1 2024
Q2 2024
Q3 2024
Q4 2024
Q1 2025
Q2 2025
Q3 2025
Q4 2025
Quarter
0
10
20
30
40
50
Margin (%)
Revenue: 310
Revenue: 390
Revenue: 420
Revenue: 510
Revenue: 340
Revenue: 430
Revenue: 460
Revenue: 540
Margin %: 22
Margin %: 28
Margin %: 25
Margin %: 31
Margin %: 24
Margin %: 32
Margin %: 30
Margin %: 35
Revenue
Margin %
terrafluent.dev
terrafluent.dev
X-Axis Label Rotation
Axis.LabelRotation = -45 — diagonal labels.
Monthly Sales by Product — XAxis.LabelRotation = -45 — diagonal labels
Monthly Sales by Product — XAxis.LabelRotation = -45 — diagonal labels — Series: Q1, Q2. Categories: Premium Enterprise Suite to Integration Gateway. Values range from 210 to 530.
Monthly Sales by Product
XAxis.LabelRotation = -45 — diagonal labels
0
100
200
300
400
500
Units
Premium Enterprise Suite
Developer Toolkit Pro
Analytics Dashboard
Integration Gateway
Product
Q1: 420
Q1: 380
Q1: 510
Q1: 290
Q1: 340
Q1: 210
Q1: 480
Q2: 460
Q2: 410
Q2: 530
Q2: 310
Q2: 380
Q2: 240
Q2: 520
Q1
Q2
terrafluent.dev
terrafluent.dev
X-Axis Numeric Tick Interval
XAxisTickInterval — numeric X-axis with explicit tick spacing.
Numeric X-Axis with TickInterval = 5 — XAxisTickInterval(5) and XAxis.Min/Max drive evenly-spaced numeric ticks.
Numeric X-Axis with TickInterval = 5 — XAxisTickInterval(5) and XAxis.Min/Max drive evenly-spaced numeric ticks. — Series: Signal. Values range from -1 to 1.
Numeric X-Axis with TickInterval = 5
XAxisTickInterval(5) and XAxis.Min/Max drive evenly-spaced numeric ticks.
-1.5
-1
-0.5
0
0.5
1
1.5
Amplitude
0
5
10
15
20
25
30
Time (s)
Signal: 0
Signal: 0.87
Signal: 1
Signal: 0.5
Signal: -0.5
Signal: -1
Signal: -0.87
Signal: 0
Signal: 0.87
Signal: 1
Signal: 0.5
Signal: -0.5
Signal: -1
Signal: -0.87
Signal: 0
Signal: 0.87
Signal
terrafluent.dev
terrafluent.dev
Logarithmic Y Axis
YAxisLogarithmic() — base-10 log scale.
Exponential Growth on a Log Scale — Users over time — each decade evenly spaced
Exponential Growth on a Log Scale — Users over time — each decade evenly spaced — Series: Users, Linear baseline. Categories: Q1 to Q8. Values range from 5 to 150k.
Exponential Growth on a Log Scale
Users over time — each decade evenly spaced
1
10
100
1k
10k
100k
1M
Active Users
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
Quarter
Users: 5
Users: 30
Users: 120
Users: 600
Users: 2.5k
Users: 9k
Users: 40k
Users: 150k
Linear baseline: 5
Linear baseline: 12
Linear baseline: 25
Linear baseline: 50
Linear baseline: 100
Linear baseline: 200
Linear baseline: 400
Linear baseline: 800
Users
Linear baseline
terrafluent.dev
terrafluent.dev
Date/Time X Axis
XAxisDateTime() — auto-formatted by span.
Weekly Site Visits — 2024 — Date/time X axis with auto-formatted, thinned labels
Weekly Site Visits — 2024 — Date/time X axis with auto-formatted, thinned labels — Series: Visits. Categories: Jan 2024 to Dec 2024. Values range from 1.2k to 2.8k.
Weekly Site Visits — 2024
Date/time X axis with auto-formatted, thinned labels
0
500
1k
1.5k
2k
2.5k
Visits
Jan 2024
Feb 2024
Mar 2024
Apr 2024
May 2024
Jun 2024
Jul 2024
Sep 2024
Oct 2024
Nov 2024
Dec 2024
Week
Visits: 1.2k
Visits: 1.3k
Visits: 1.4k
Visits: 1.3k
Visits: 1.3k
Visits: 1.4k
Visits: 1.3k
Visits: 1.4k
Visits: 1.6k
Visits: 1.7k
Visits: 1.7k
Visits: 1.9k
Visits: 1.9k
Visits: 1.8k
Visits: 1.9k
Visits: 1.9k
Visits: 2.1k
Visits: 2.1k
Visits: 2.2k
Visits: 2.1k
Visits: 2.2k
Visits: 2.2k
Visits: 2.2k
Visits: 2.2k
Visits: 2.2k
Visits: 2.1k
Visits: 2.2k
Visits: 2.1k
Visits: 2.1k
Visits: 2.2k
Visits: 2.4k
Visits: 2.3k
Visits: 2.2k
Visits: 2.2k
Visits: 2.1k
Visits: 2k
Visits: 2.1k
Visits: 2k
Visits: 2.1k
Visits: 2.2k
Visits: 2.4k
Visits: 2.4k
Visits: 2.4k
Visits: 2.3k
Visits: 2.3k
Visits: 2.5k
Visits: 2.6k
Visits: 2.6k
Visits: 2.8k
Visits: 2.7k
Visits: 2.6k
Visits: 2.8k
Visits
terrafluent.dev
terrafluent.dev
Inverted Y-Axis
YAxisInverted() — minimum at the top, ranking style.
Race-to-Zero Leaderboard — YAxisInverted() — rank 1 at the top, higher rank numbers lower
Race-to-Zero Leaderboard — YAxisInverted() — rank 1 at the top, higher rank numbers lower — Series: Position. Categories: Alice to Eve. Values range from 1 to 5.
Race-to-Zero Leaderboard
YAxisInverted() — rank 1 at the top, higher rank numbers lower
1
2
3
4
5
Rank
Alice
Bob
Carol
Dave
Eve
Position
terrafluent.dev
terrafluent.dev
Grid Lines Toggle
GridLines(false) / HideGridLines() — show or hide the background plot grid.
Grid Lines Visible — default — GridLines(true)
Grid Lines Visible — default — GridLines(true) — Series: Revenue. Categories: Jan to Jun. Values range from 42 to 85.
Grid Lines Visible
default — GridLines(true)
0
20
40
60
80
Revenue ($k)
Jan
Feb
Mar
Apr
May
Jun
Revenue: 42
Revenue: 58
Revenue: 51
Revenue: 67
Revenue: 72
Revenue: 85
Revenue
terrafluent.dev
terrafluent.dev
Grid Lines Hidden — HideGridLines()
Grid Lines Hidden — HideGridLines() — Series: Revenue. Categories: Jan to Jun. Values range from 42 to 85.
Grid Lines Hidden
HideGridLines()
0
20
40
60
80
Revenue ($k)
Jan
Feb
Mar
Apr
May
Jun
Revenue: 42
Revenue: 58
Revenue: 51
Revenue: 67
Revenue: 72
Revenue: 85
Revenue
terrafluent.dev
terrafluent.dev
Plot Bands & Reference Lines
YAxis.PlotBands and YAxis.PlotLines.
Server Response Time — YAxis.PlotBands / PlotLines — target zones and thresholds
Server Response Time — YAxis.PlotBands / PlotLines — target zones and thresholds — Series: p50, p99. Categories: 00 to 22. Values range from 72 to 780.
Server Response Time
YAxis.PlotBands / PlotLines — target zones and thresholds
0
200
400
600
ms
00
02
04
06
08
10
12
14
16
18
20
22
Hour
Good
Acceptable
SLA limit
p50: 85
p50: 78
p50: 72
p50: 90
p50: 145
p50: 220
p50: 310
p50: 280
p50: 195
p50: 160
p50: 130
p50: 105
p99: 210
p99: 185
p99: 170
p99: 240
p99: 420
p99: 610
p99: 780
p99: 720
p99: 490
p99: 380
p99: 290
p99: 230
p50
p99
terrafluent.dev
terrafluent.dev
Threshold Zones
Zones() — recolour a line by value band.
Temperature Anomaly — Line recoloured by threshold — red below 0 °C, green above
Temperature Anomaly — Line recoloured by threshold — red below 0 °C, green above — Series: Anomaly. Categories: Jan to Dec. Values range from -4.2 to 5.6.
Temperature Anomaly
Line recoloured by threshold — red below 0 °C, green above
-4
-2
0
2
4
Δ °C
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
Anomaly: -4.2
Anomaly: -3.1
Anomaly: -1
Anomaly: 1.8
Anomaly: 3.4
Anomaly: 4.9
Anomaly: 5.6
Anomaly: 4.1
Anomaly: 2
Anomaly: -0.5
Anomaly: -2.4
Anomaly: -3.8
Anomaly
terrafluent.dev
terrafluent.dev
Per-Series Target Lines
TargetLine() — horizontal reference lines scoped to a single series.
Monthly Sales vs Targets — TargetLine() — per-series reference lines at specific Y values
Monthly Sales vs Targets — TargetLine() — per-series reference lines at specific Y values — Series: North, South. Categories: Jan to Jun. Values range from 55 to 112.
Monthly Sales vs Targets
TargetLine() — per-series reference lines at specific Y values
0
20
40
60
80
100
Revenue ($k)
Jan
Feb
Mar
Apr
May
Jun
North target
South target
North: 82
North: 91
North: 78
North: 105
North: 112
North: 98
South: 55
South: 63
South: 70
South: 68
South: 74
South: 88
North
South
terrafluent.dev
terrafluent.dev