ScatterLine Chart
The Blazor ScatterLine chart is very similar to the Scatter chart—it shows data as points defined by their items' values, but the points are connected by lines and thus it can account for missing values in a series. Its x-axis is numerical and does not require items.
You would usually use ScatterLine charts for showing the relation between different sets of data, for example scientific (experimental) results, or when you need to have two numerical axes on a line-type chart.
This article assumes you are familiar with the chart basics and data binding.
To create a scatter chart:
- add a
ChartSeries
to theChartSeriesItems
collection - set its
Type
property toChartSeriesType.ScatterLine
- provide a data collection to its
Data
property, which contains numerical data for the X and Y axes
@* ScatterLine Series *@
<TelerikChart>
<ChartTitle Text="Charge current vs. charge time"></ChartTitle>
<ChartLegend Visible="true"></ChartLegend>
<ChartSeriesItems>
<ChartSeries Type="ChartSeriesType.ScatterLine"
Data="@Series1Data"
Name="0.8C"
XField="@nameof(ModelData.X)"
YField="@nameof(ModelData.Y)">
</ChartSeries>
<ChartSeries Type="ChartSeriesType.ScatterLine"
Data="@Series2Data"
Name="1.6C"
XField="@nameof(ModelData.X)"
YField="@nameof(ModelData.Y)">
</ChartSeries>
<ChartSeries Type="ChartSeriesType.ScatterLine"
Data="@Series3Data"
Name="3.1C"
XField="@nameof(ModelData.X)"
YField="@nameof(ModelData.Y)">
</ChartSeries>
</ChartSeriesItems>
<ChartXAxes>
<ChartXAxis Max="100">
<ChartXAxisTitle Text="Time"></ChartXAxisTitle>
<ChartXAxisLabels Format="{0}m"></ChartXAxisLabels>
</ChartXAxis>
</ChartXAxes>
<ChartYAxes>
<ChartYAxis Max="100">
<ChartYAxisTitle Text="Charge"></ChartYAxisTitle>
<ChartYAxisLabels Format="{0}%"></ChartYAxisLabels>
</ChartYAxis>
</ChartYAxes>
</TelerikChart>
@code {
public class ModelData
{
public int X { get; set; }
public int Y { get; set; }
}
public List<ModelData> Series1Data = new List<ModelData>()
{
new ModelData() { X = 10, Y = 10 },
new ModelData() { X = 15, Y = 20 },
new ModelData() { X = 20, Y = 25 },
new ModelData() { X = 32, Y = 40 },
new ModelData() { X = 43, Y = 50 },
new ModelData() { X = 55, Y = 60 },
new ModelData() { X = 60, Y = 70 },
new ModelData() { X = 70, Y = 80 },
new ModelData() { X = 90, Y = 100 },
};
public List<ModelData> Series2Data = new List<ModelData>()
{
new ModelData() { X = 10, Y = 40 },
new ModelData() { X = 17, Y = 50 },
new ModelData() { X = 18, Y = 70 },
new ModelData() { X = 35, Y = 90 },
new ModelData() { X = 47, Y = 95 },
new ModelData() { X = 60, Y = 100 },
};
public List<ModelData> Series3Data = new List<ModelData>()
{
new ModelData() { X = 10, Y = 70 },
new ModelData() { X = 13, Y = 90 },
new ModelData() { X = 25, Y = 100 },
};
}
ScatterLine Chart Specific Appearance Settings
Markers
Each data item is denoted by a marker. You can control its settings through the child ChartSeriesMarkers
tag of the series.
You can hide the markers by setting their Visible
property to false
.
The Size
property is the size of the marker in pixels.
The Type
property is a member of the Telerik.Blazor.ChartSeriesMarkersType
enum:
-
Circle
- the default Cross
Square
Triangle
The Rotation
property is the degrees with which the marker is rotated from its default orientation.
Color
The color of the line and markers is controlled through the Color
property that can take any valid CSS color (for example, #abcdef
, #f00
, or blue
).
You can control the color of the markers by using the Background
property of the nested ChartSeriesMarkers
tag.
ColorField
You can pass a ColorField
to the chart as a part of the model, and the data points (markers) will use that color instead of the Color
of the series or the Background
of the markers settings.
Line Style
You can render the lines between the points with different styles. The supported styles can be set via the Style
property that takes a member of Telerik.Blazor.ChartSeriesStyle
enum:
Normal
—This is the default style. It produces a straight line between data points.Step
—The style renders the connection between data points through vertical and horizontal lines. It is suitable for indicating that the value is constant between the changes. Supported for categorical types of Line charts only, but not for scatter charts.Smooth
—This style causes the Chart to display a fitted curve through data points. It is suitable when the data requires to be displayed with a curve, or when you wish to connect the points with smooth instead of straight lines. Not supported with stacked series with missing values.
Customize Chart Elements - Nested Tags Settings
When configuring nested properties and child elements in your chart, the inner tags will contain their parent tag name and add specifics to its end. In general the structure of such nested tags will be <Chart*Category**Specifics*>
where the Category can be one of the following:
- CategoryAxis
- ChartArea
- Legend
- PlotArea
- SeriesItems
- Title
- Tooltip
- ValueAxis
- XAxes
- YAxes
- and others
To customize the chart, look for nested tags and their properties - the inner tags will contain their parent tag name and add specifics to its end. For example, the
ChartSeries
tag has aChartSeriesLabels
tag that exposes configuration options and more child tags.
For example, for numerical charts you can rotate the Labels for ChartXAxes
or ChartYAxes
depending on your application design needs and layout. This can be done through the
ChartXAxes
> ChartXAxis
> ChartXAxisLabelsRotation
tag
where you can set the Angle
property to the desired value in degrees (they might be negative or positive numbers). By using similar approach you can take control over ChartXAxisLabelsBorder
(add borders), ChartXAxisLabelsMargin
(add margin for top, bottom, left and right) and others.
This approach is not limited only to the Labels - it can be used with to all tags that are applicable for the chart type, for example the Chart Title ChartTitle
> ChartTitleMargin
.
See the code snippet above to observe changing the Labels' Format and Title Text for the
ChartXAxis
and theChartYAxes
.