Search code examples
.netblazor-server-sidesyncfusionsyncfusion-chart

Syncfusion Blazor BarChart with LineChart


I am using Syncfusion Blazor Bar Chart. I got below requirement for clubbing a Bar chart with line. Is there a way to do this? Any leads?

enter image description here


Solution

  • We can achieve your requirement (based on the screenshot) using column series and line series in the Chart component. We have also prepared a sample for your reference.

    Sample Link: https://www.syncfusion.com/downloads/support/directtrac/general/ze/ColumnLineSeries1543449603.zip

    Code Snippet:

    <SfChart Title="Hyaat Place Cedar Park 17-4-006" >
        <ChartEvents OnAxisLabelRender="AxisLabelRender"></ChartEvents>
        <ChartPrimaryXAxis ValueType="Syncfusion.Blazor.Charts.ValueType.Category" Interval="1">
            <ChartAxisLabelStyle Color="transparent"></ChartAxisLabelStyle>
            <ChartAxisLineStyle Width="0"></ChartAxisLineStyle>
            <ChartAxisMajorTickLines Width="0"></ChartAxisMajorTickLines>
            <ChartAxisMajorGridLines Width="0"></ChartAxisMajorGridLines>
        </ChartPrimaryXAxis>
        <ChartPrimaryYAxis >
            <ChartAxisLineStyle Width="0"></ChartAxisLineStyle>
            <ChartAxisMajorTickLines Width="0"></ChartAxisMajorTickLines>
        </ChartPrimaryYAxis>
        <ChartSeriesCollection>
            <ChartSeries DataSource="@ChartPoints" Fill="#3864c6" XName="Country" YName="GoldMedal" Type="ChartSeriesType.Column">
            </ChartSeries>
            <ChartSeries DataSource="@ChartPoints"  Fill="#85dba0" XName="Country" YName="SilverMedal" Type="ChartSeriesType.Column">
            </ChartSeries>
            <ChartSeries DataSource="@ChartPoints" Fill="#837fca" Width="3" XName="Country" YName="BronzeMedal" Type="ChartSeriesType.Line">
                <ChartMarker Visible="true" Width="5" Height="5" Fill="#837fca">
                </ChartMarker>
            </ChartSeries>
        </ChartSeriesCollection>
        <ChartTooltipSettings Enable="true"></ChartTooltipSettings>
    </SfChart>
    
    // add your additional code here
    
    public void AxisLabelRender(AxisLabelRenderEventArgs args)
        {
            if (args.Axis.Name == "PrimaryYAxis")
            {
                args.Text = "$"+ Convert.ToDouble(args.Text).ToString("N0");
            }
        }
    

    Screenshot: enter image description here