A versatile chart component for visualizing data through various chart types including line, area, column, bar, pie, and donut series. RadzenChart supports multiple series, customizable axes, legends, tooltips, data labels, markers, and interactive features. Container for one or more chart series components. Each series (RadzenLineSeries, RadzenColumnSeries, RadzenAreaSeries, etc.) defines how data is visualized. Supports Cartesian charts (Line, Area, Column, Bar, StackedColumn, StackedBar, StackedArea with X/Y axes), Pie charts (Pie and Donut series for showing proportions), customization of color schemes/axis configuration/grid lines/legends/tooltips/data labels/markers, interactive click events on series and legend items with hover tooltips, annotations including trend lines/mean/median/mode lines/value annotations, and responsive design that automatically adapts to container size. Series are defined as child components within the RadzenChart. Configure axes using RadzenCategoryAxis and RadzenValueAxis, customize the legend with RadzenLegend, and add tooltips with RadzenChartTooltipOptions.
IComponent
IHandleEvent
IHandleAfterRender
RadzenComponent.RaiseContextMenu
RadzenComponent.RaiseMouseEnter
RadzenComponent.AddContextMenu
RadzenComponent.RaiseMouseLeave
RadzenComponent.OnBecameInvisible
RadzenComponent.DefaultCulture
RadzenComponent.DefaultUICulture
RadzenComponent.IsJSRuntimeAvailable
ComponentBase.OnInitializedAsync
ComponentBase.OnParametersSet
ComponentBase.OnParametersSetAsync
ComponentBase.StateHasChanged
ComponentBase.ShouldRender
ComponentBase.OnAfterRender
ComponentBase.InvokeAsync
ComponentBase.DispatchExceptionAsync
ComponentBase.RendererInfo
ComponentBase.Assets
ComponentBase.AssignedRenderMode
Namespace: Radzen.Blazor
Assembly: Radzen.Blazor.dll
public class RadzenChart : RadzenComponent, IComponent, IHandleEvent, IHandleAfterRenderBasic column chart:
<RadzenChart>
<RadzenColumnSeries Data=@revenue CategoryProperty="Quarter" Title="Revenue" ValueProperty="Revenue" />
</RadzenChart>
@code {
class DataItem
{
public string Quarter { get; set; }
public double Revenue { get; set; }
}
DataItem[] revenue = new DataItem[]
{
new DataItem { Quarter = "Q1", Revenue = 234000 },
new DataItem { Quarter = "Q2", Revenue = 284000 },
new DataItem { Quarter = "Q3", Revenue = 274000 },
new DataItem { Quarter = "Q4", Revenue = 294000 }
};
}
Chart with multiple series and custom legend:
<RadzenChart>
<RadzenLineSeries Data=@sales2023 CategoryProperty="Month" ValueProperty="Amount" Title="2023 Sales" />
<RadzenLineSeries Data=@sales2024 CategoryProperty="Month" ValueProperty="Amount" Title="2024 Sales" />
<RadzenLegend Position="LegendPosition.Bottom" />
<RadzenCategoryAxis Formatter="@(value => value.ToString())" />
<RadzenValueAxis Formatter="@(value => value.ToString("C"))" />
</RadzenChart>A versatile chart component for visualizing data through various chart types including line, area, column, bar, pie, and donut series. RadzenChart supports multiple series, customizable axes, legends, tooltips, data labels, markers, and interactive features. Container for one or more chart series components. Each series (RadzenLineSeries, RadzenColumnSeries, RadzenAreaSeries, etc.) defines how data is visualized. Supports Cartesian charts (Line, Area, Column, Bar, StackedColumn, StackedBar, StackedArea with X/Y axes), Pie charts (Pie and Donut series for showing proportions), customization of color schemes/axis configuration/grid lines/legends/tooltips/data labels/markers, interactive click events on series and legend items with hover tooltips, annotations including trend lines/mean/median/mode lines/value annotations, and responsive design that automatically adapts to container size. Series are defined as child components within the RadzenChart. Configure axes using RadzenCategoryAxis and RadzenValueAxis, customize the legend with RadzenLegend, and add tooltips with RadzenChartTooltipOptions.
public RadzenChart()Gets or sets whether pan via scrollbar is enabled.
public bool AllowPan { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets whether pan via scrollbar is enabled. |
Gets or sets a value indicating whether series highlight on hover is enabled. When true, hovering over a series or its legend item highlights the series and dims the others.
public bool AllowSeriesHover { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether series highlight on hover is enabled. When true, hovering over a series or its legend item highlights the series and dims the others. |
Gets or sets whether mouse wheel zoom is enabled.
public bool AllowZoom { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets whether mouse wheel zoom is enabled. |
Gets or sets a value indicating whether series animate when the chart first renders. Series are revealed with a left-to-right wipe. The animation respects the user's reduced motion preference.
public bool Animate { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether series animate when the chart first renders. Series are revealed with a left-to-right wipe. The animation respects the user's reduced motion preference. |
Gets or sets a value indicating whether line and area series morph smoothly when their data changes. Best suited for live dashboards where values update in place. Not applied while zooming or panning. Supported in Chromium and Firefox; other browsers update instantly.
public bool AnimateDataUpdates { get; set; }
| Type | Description |
|---|---|
| bool | Gets or sets a value indicating whether line and area series morph smoothly when their data changes. Best suited for live dashboards where values update in place. Not applied while zooming or panning. Supported in Chromium and Firefox; other browsers update instantly. |
Gets or sets the duration of the initial render animation in milliseconds.
public double AnimationDuration { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the duration of the initial render animation in milliseconds. |
Gets or sets the child content. Used to specify series and other configuration.
public RenderFragment ChildContent { get; set; }
| Type | Description |
|---|---|
| RenderFragment | Gets or sets the child content. Used to specify series and other configuration. |
The minimum pixel distance from a data point to the mouse cursor required for the SeriesClick event to fire. Set to 25 by default.
public int ClickTolerance { get; set; }
| Type | Description |
|---|---|
| int | The minimum pixel distance from a data point to the mouse cursor required for the SeriesClick event to fire. Set to 25 by default. |
Gets or sets the color scheme used to assign colors to chart series. Determines the palette of colors applied sequentially to each series when series-specific colors are not set. Available schemes include Pastel (default), Palette, Monochrome, and custom color schemes.
public ColorScheme ColorScheme { get; set; }
| Type | Description |
|---|---|
| ColorScheme | Gets or sets the color scheme used to assign colors to chart series. Determines the palette of colors applied sequentially to each series when series-specific colors are not set. Available schemes include Pastel (default), Palette, Monochrome, and custom color schemes. |
Gets the runtime height of the chart.
protected double? Height { get; set; }
| Type | Description |
|---|---|
| double? | Gets the runtime height of the chart. |
Gets or sets the callback invoked when a user clicks on a legend item. Useful for implementing custom behaviors like toggling series visibility or filtering data.
public EventCallback<LegendClickEventArgs> LegendClick { get; set; }
| Type | Description |
|---|---|
| EventCallback<LegendClickEventArgs> | Gets or sets the callback invoked when a user clicks on a legend item. Useful for implementing custom behaviors like toggling series visibility or filtering data. |
Gets or sets the bottom margin of the plot area.
protected double MarginBottom { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the bottom margin of the plot area. |
Gets or sets the left margin of the plot area.
protected double MarginLeft { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the left margin of the plot area. |
Gets or sets the right margin of the plot area.
protected double MarginRight { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the right margin of the plot area. |
Gets or sets the top margin of the plot area.
protected double MarginTop { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the top margin of the plot area. |
Gets or sets the minimum interval in milliseconds between mouse move notifications which drive the tooltip, crosshair and hover tracking. Mouse moves are coalesced to animation frames; this value imposes an additional delay between dispatches. Defaults to 0 (every animation frame) on WebAssembly and 50 on Blazor Server to limit SignalR traffic.
public int? MouseMoveThrottle { get; set; }
| Type | Description |
|---|---|
| int? | Gets or sets the minimum interval in milliseconds between mouse move notifications which drive the tooltip, crosshair and hover tracking. Mouse moves are coalesced to animation frames; this value imposes an additional delay between dispatches. Defaults to 0 (every animation frame) on WebAssembly and 50 on Blazor Server to limit SignalR traffic. |
Gets or sets the callback invoked when a user clicks on a data point or segment in a chart series. Provides information about the clicked series, data item, and value in the event arguments.
public EventCallback<SeriesClickEventArgs> SeriesClick { get; set; }
| Type | Description |
|---|---|
| EventCallback<SeriesClickEventArgs> | Gets or sets the callback invoked when a user clicks on a data point or segment in a chart series. Provides information about the clicked series, data item, and value in the event arguments. |
Gets or sets the synchronization group of the chart. Charts which share the same group display a synchronized crosshair and active data points: hovering one chart highlights the same category in the others. Charts in a group should plot the same kind of category (e.g. the same dates).
public string SyncGroup { get; set; }
| Type | Description |
|---|---|
| string | Gets or sets the synchronization group of the chart. Charts which share the same group display a synchronized crosshair and active data points: hovering one chart highlights the same category in the others. Charts in a group should plot the same kind of category (e.g. the same dates). |
The minimum pixel distance from a data point to the mouse cursor required by the tooltip to show. Set to 25 by default.
public int TooltipTolerance { get; set; }
| Type | Description |
|---|---|
| int | The minimum pixel distance from a data point to the mouse cursor required by the tooltip to show. Set to 25 by default. |
Gets or sets the callback invoked when the visible range changes due to zoom or pan. Provides the current zoom level and visible range fractions.
public EventCallback<ChartViewChangeEventArgs> ViewChange { get; set; }
| Type | Description |
|---|---|
| EventCallback<ChartViewChangeEventArgs> | Gets or sets the callback invoked when the visible range changes due to zoom or pan. Provides the current zoom level and visible range fractions. |
Gets or sets the end of the visible range as a fraction (0-1) of the full category range. Supports two-way binding with @bind-ViewEnd.
public double ViewEnd { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the end of the visible range as a fraction (0-1) of the full category range. Supports two-way binding with @bind-ViewEnd. |
Gets or sets the callback invoked when the visible range end changes due to user interaction. Used for two-way binding with @bind-ViewEnd.
public EventCallback<double> ViewEndChanged { get; set; }
| Type | Description |
|---|---|
| EventCallback<double> | Gets or sets the callback invoked when the visible range end changes due to user interaction. Used for two-way binding with @bind-ViewEnd. |
Gets or sets the start of the visible range as a fraction (0-1) of the full category range. Supports two-way binding with @bind-ViewStart.
public double ViewStart { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the start of the visible range as a fraction (0-1) of the full category range. Supports two-way binding with @bind-ViewStart. |
Gets or sets the callback invoked when the visible range start changes due to user interaction. Used for two-way binding with @bind-ViewStart.
public EventCallback<double> ViewStartChanged { get; set; }
| Type | Description |
|---|---|
| EventCallback<double> | Gets or sets the callback invoked when the visible range start changes due to user interaction. Used for two-way binding with @bind-ViewStart. |
Gets the runtime width of the chart.
protected double? Width { get; set; }
| Type | Description |
|---|---|
| double? | Gets the runtime width of the chart. |
Gets or sets the zoom level as a percentage. A value of 100 means no zoom (full range visible). Higher values zoom in (e.g., 200 shows half the range, 400 shows a quarter). Set to 100 to reset zoom. Supports two-way binding with @bind-Zoom.
public double Zoom { get; set; }
| Type | Description |
|---|---|
| double | Gets or sets the zoom level as a percentage. A value of 100 means no zoom (full range visible). Higher values zoom in (e.g., 200 shows half the range, 400 shows a quarter). Set to 100 to reset zoom. Supports two-way binding with @bind-Zoom. |
Gets or sets the callback invoked when the zoom level changes due to user interaction (mouse wheel or pan). Used for two-way binding with @bind-Zoom.
public EventCallback<double> ZoomChanged { get; set; }
| Type | Description |
|---|---|
| EventCallback<double> | Gets or sets the callback invoked when the zoom level changes due to user interaction (mouse wheel or pan). Used for two-way binding with @bind-Zoom. |
protected override void BuildRenderTree(Rendering.RenderTreeBuilder __builder)
| Type | Name | Description |
|---|---|---|
| Rendering.RenderTreeBuilder | __builder |
Invoked via interop when the user clicks the RadzenChart. Raises the SeriesClick handler.
public Task Click(double x, double y)
| Type | Name | Description |
|---|---|---|
| double | x | The x. |
| double | y | The y. |
| Type | Description |
|---|---|
| Task |
Displays a Tooltip on a chart without user interaction, given a series, and the data associated with it.
public Task DisplayTooltipFor(IChartSeries series, object data)
| Type | Name | Description |
|---|---|---|
| IChartSeries | series | |
| object | data |
| Type | Description |
|---|---|
| Task |
protected override string GetComponentCssClass()
| Type | Description |
|---|---|
| string |
Returns the Series used by the Chart.
public IReadOnlyList<IChartSeries> GetSeries()
| Type | Description |
|---|---|
| IReadOnlyList<IChartSeries> |
Invoked via interop when the user moves the mouse over the RadzenChart. Displays the tooltip.
public Task MouseMove(double x, double y)
| Type | Name | Description |
|---|---|---|
| double | x | The x. |
| double | y | The y. |
| Type | Description |
|---|---|
| Task |
protected override Task OnAfterRenderAsync(bool firstRender)
| Type | Name | Description |
|---|---|---|
| bool | firstRender |
| Type | Description |
|---|---|
| Task |
Invoked via interop when the user drags the scrollbar thumb.
public Task OnPan(double position)
| Type | Name | Description |
|---|---|---|
| double | position | The new start position as a fraction (0-1). |
| Type | Description |
|---|---|
| Task |
Invoked via interop when the user scrolls the mouse wheel over the chart. Zooms in or out.
public Task OnWheel(double x, int delta)
| Type | Name | Description |
|---|---|---|
| double | x | The mouse X position relative to the chart element. |
| int | delta | Positive to zoom out, negative to zoom in. |
| Type | Description |
|---|---|
| Task |
Causes all series to refresh. Use it when Data has changed.
public Task Reload()
| Type | Description |
|---|---|
| Task |
Resets zoom and pan to show the full data range.
public Task ResetZoom()
| Type | Description |
|---|---|
| Task |
Invoked via interop when the RadzenChart resizes. Display the series with the new dimensions.
public Task Resize(double width, double height)
| Type | Name | Description |
|---|---|---|
| double | width | The width. |
| double | height | The height. |
| Type | Description |
|---|---|
| Task |
public override Task SetParametersAsync(ParameterView parameters)
| Type | Name | Description |
|---|---|---|
| ParameterView | parameters |
| Type | Description |
|---|---|
| Task |
Called from JavaScript when the document direction changes.
public Task SetRTL(bool isRTL)
| Type | Name | Description |
|---|---|---|
| bool | isRTL |
| Type | Description |
|---|---|
| Task |
Returns whether the chart should render axes.
protected bool ShouldRenderAxes()
| Type | Description |
|---|---|
| bool |
Renders the chart as a PNG image and downloads it in the browser. The plot area and axes are included; legends and tooltips are HTML overlays and are not included.
public Task ToPng(string fileName, int? width, int? height)
| Type | Name | Description |
|---|---|---|
| string | fileName | The download file name. Default is chart.png. |
| int? | width | The PNG width in pixels. When omitted the rendered size scaled by the device pixel ratio is used. |
| int? | height | The PNG height in pixels. When omitted it is derived from width preserving the aspect ratio. |
| Type | Description |
|---|---|
| Task |
Renders the chart as a PNG image and downloads it in the browser. The plot area and axes are included; legends and tooltips are HTML overlays and are not included.
public Task<Byte[]> ToPng(int? width, int? height)
| Type | Name | Description |
|---|---|---|
| int? | width | The PNG width in pixels. When omitted the rendered size scaled by the device pixel ratio is used. |
| int? | height | The PNG height in pixels. When omitted it is derived from width preserving the aspect ratio. |
| Type | Description |
|---|---|
| Task<Byte[]> |
Returns the SVG markup of the rendered chart as a string. The plot area and axes are included, with theme styles inlined so the SVG renders standalone. Legends and tooltips are HTML overlays and are not included. To download it, pass the result to the Radzen.downloadFile JavaScript helper.
public Task<string> ToSvg()
| Type | Description |
|---|---|
| Task<string> | A Task<T> representing the asynchronous operation. The task result contains the SVG markup of the chart. |
Updates the scales based on the configuration.
protected virtual bool UpdateScales()
| Type | Description |
|---|---|
| bool |