Docs & rules

Live-Charts/LiveCharts2GitHub

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

2 stale names in these docs.

master8537b90Last read Oct 3

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

Documents
Rules
39
39
19
4
3
8
4
6
6
4
1 stale name
4
4
4
6
5
1 stale name
5
5
1
1
1
25 docs
Live-Charts/LiveCharts2Open repository

Stale names in these docs2

Each sentence below has a stale name: a type the default branch doesn't declare, or declares somewhere else. Edit the doc so it matches the code, or bring the type back.

  • GoneIAnimatable
    The Core provides a simple (and sufficient) framework where an IAnimatable object knows its position in a timeline.

    The repository once had src/LiveChartsCore/Drawing/IAnimatable.cs. It doesn't now. Closest name there: Animatable.

    View on GitHub

  • GoneIAnimatable
    Every time we access a motion property we get the value of the property at the current time based on the IAnimatable animation.

    The repository once had src/LiveChartsCore/Drawing/IAnimatable.cs. It doesn't now. Closest name there: Animatable.

    View on GitHub

Live-Charts/LiveCharts2 — documented rules

39 of 39 rules, printed October 14, 2026.

The sentence in your docs
Read Oct 3
Xi: Gets or sets the xi, the value where the section starts at the X axis, set the property to null to indicate that the section must start at the beginning of the X axis, default is null.
RectangularSection has Xi
Holds
Read Oct 3
Xj: Gets or sets the xj, the value where the section ends and the X axis, set the property to null to indicate that the section must go to the end of the X axis, default is null.
RectangularSection has Xj
Holds
Read Oct 3
Yi: Gets or sets the yi, the value where the section starts and the Y axis, set the property to null to indicate that the section must start at the beginning of the Y axis, default is null.
RectangularSection has Yi
Holds
Read Oct 3
Yj: Gets or sets the yj, the value where the section ends and the Y axis, set the property to null to indicate that the section must go to the end of the Y axis, default is null.
RectangularSection has Yj
Holds
Read Oct 3
The Rx, Ry, MaxBarWidth, Padding, Stroke, Fill, and IgnoresBarPosition properties behave identically to the equivalents on ColumnSeries — see the Column Series article for examples.
3 rules from this sentence
RangeColumnSeries has Padding
Holds
RangeColumnSeries has Stroke
Holds
RangeColumnSeries has Fill
Holds
Read Oct 3
The simplest way to feed the series is the RangeValue helper in LiveChartsCore.Defaults (shared with RangeColumnSeries and RangeRowSeries), which carries Low and High and maps to the coordinate slots the series expects (PrimaryValue = High, TertiaryValue = Low).
3 rules from this sentence
RangeValue is in LiveChartsCore.Defaults
Holds
RangeValue has Low
Holds
RangeValue has High
Holds
Read Oct 3
The series exposes the usual Stroke and Fill properties, with a small twist:
2 rules from this sentence
RangeLineSeries has Stroke
Holds
RangeLineSeries has Fill
Holds
Read Oct 3
GeometryStroke and GeometryFill style the markers at each high / low endpoint.
2 rules from this sentence
RangeLineSeries has GeometryStroke
Holds
RangeLineSeries has GeometryFill
Holds
Read Oct 3
LineSmoothness controls the cubic-bezier tangent strength on both curves, exactly like LineSeries — 0 = straight polyline, 1 = fully curved (default 0.65).
RangeLineSeries has LineSmoothness
Holds
Read Oct 3
By default the library already defines a default formatter for every series, all the series have a different formatters, but generally the default value uses the Series.Name and the ChartPoint.Coordinate.PrimaryValue properties, the following code snippet illustrates how to build a custom tooltip formatter.
2 rules from this sentence
Series has Name
Holds
ChartPoint has Coordinate
Holds
Read Oct 3
We used the Model property of the point, the Model property is just the item in the Values collection, for example in the next case, the Model property is of type City.
ChartPoint has Model
Holds
Read Oct 3
:::tip The PieSeries class uses the ToolTipLabelFormatter property to configure the text inside the tooltip.
PieSeries has ToolTipLabelFormatter
Holds
Read Oct 3
geoMap.DataPointerDown += (sender, points) => { if (points.FirstOrDefault()?.Context.DataSource is not LandDefinition land) return; // Look up each series' value for this land. foreach (var series in geoMap.Series ?? []) if (series.TryGetValue(land.ShortName, out var value)) Console.WriteLine($"{series.Name}: {value}");
LandDefinition has Name and ShortName
Holds
Read Oct 3
:::info Override the gradient endpoints (e.g. to pin the legend to 0–100 even when the data only spans 5–87) by setting MinValue and MaxValue on the HeatLandSeries.
HeatLandSeries has MinValue and MaxValue
Holds
Read Oct 3
Wrap one in a GeoVisualElement(visual) { Longitude, Latitude } to anchor it at a geographic coordinate;
GeoVisualElement has Longitude and Latitude
Holds
Read Oct 3
The marker below is an ordinary Visual whose DrawnElement is a circle.
Visual has DrawnElement
Holds
Read Oct 3
If you need the raw projector — to position something yourself, hit-test a click, etc. — use GeoMapChart.Project(lon, lat) and the inverse GeoMapChart.Unproject(LvcPoint).
GeoMapChart has Project and Unproject methods
Holds
Read Oct 3
If you only need a synchronous lookup (e.g. on a custom gesture), call geoMap.GetPointsAt(new LvcPointD(x, y)) — same ChartPoint shape, no event subscription needed.
GeoMapChart has a GetPointsAt method
Holds
Read Oct 3
If the series specifies the Mapping property, then the global mapper will be ignored and instead it will use the series instance mapper.
ISeries has Mapping
Holds
Read Oct 3
The IChartEntity interface forces our points to have a Coordinate, LiveCharts will use this property to build the plot, when the interface is implemented correctly, you will notice a considerable performance improvement, specially on large data sets.
IChartEntity has Coordinate
Holds
Read Oct 3
Now to implement IChartEntity we need to add 2 properties the Coordinate (the location of the point in the UI) and the MetaData (just some information LiveCharts needs to build the chart).
IChartEntity has MetaData
Holds
Read Oct 3
When LiveCharts finds a null instance or the coordinate is set to Coordinate.Empty it will skip the point:
Coordinate has Empty
Holds
Read Oct 3
There are 2 ways to format and axis labels, using the Labels property and using the Labeler property, you must normally use the Labels property to indicate names, and the Labeler property to give format to the current label.
2 rules from this sentence
PolarAxis has Labels
Holds
PolarAxis has Labeler
Holds
Read Oct 3
Finally notice that you can combine the LiveCharts.CotangentAngle and LiveCharts.TangentAngle with decimal degrees, the following expressions are valid also:
2 rules from this sentence
LiveCharts has CotangentAngle
Holds
LiveCharts has TangentAngle
Holds
Read Oct 3
We can add custom elements to a chart using the VisualElements property, this property is of type IEnumerable<ChartElement>, the library provides the Visual class, this class inherits from ChartElement and handles animations, the PointerDown event and the creation and destruction of the drawn geometries in the canvas.
Visual extends ChartElement
Holds
Read Oct 3
The easiest way is to inherit from DrawnGeometry, this class implements IDrawnElement and also animates all of its properties;
DrawnGeometry implements IDrawnElement
Holds
Read Oct 3
In the next example we inherit from BoundedDrawnGeometry it only adds the Width and Height properties to the DrawnGeometry class.
3 rules from this sentence
BoundedDrawnGeometry extends DrawnGeometry
Holds
BoundedDrawnGeometry has Width
Holds
BoundedDrawnGeometry has Height
Holds
Read Oct 3
Zooming and panning is disabled by default, you can enable it by setting the ZoomMode property, this property is of type ZoomAndPanMode, this type is a flag enum it means that you can combine the options as you need, you can learn more about zooming and panning options here.
ZoomAndPanMode is an enumeration
Holds
39 rules from 9 docs

See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.