New to Telerik UI for ASP.NET Core? Download free 30-day trial

Bullet Charts

The Telerik UI Bullet TagHelper and HtmlHelper for ASP.NET Core are server-side wrappers for the Kendo UI Bullet Chart widget.

Bullet Charts represent a variation of the Bar Chart.

Getting Started

You can use the Bullet Chart component to visualize a comparison between an expected (target) and actual (current) value—for example, company profit, employee performance, weather data, and so on.

To create a Bullet series in the Chart component, use Bullet and VerticalBullet in the Series configuration.

Configuring the Axes

To configure the axes, use the CategoryAxis and ValueAxis settings. Multiple value axes are also supported.

    @(Html.Kendo().Chart()
        .Name("chart")
        .Legend(legend => legend
            .Visible(false)
        )
        .Series(series => {
            series.Bullet(new double[][] { new double[] { 750, 762.5 }});
        })
        .ChartArea(chartArea => chartArea.Margin(0))
        .CategoryAxis(axis => axis
            .MajorGridLines(lines => lines.Visible(false))
            .MajorTicks(lines => lines.Visible(false))
        )
        .ValueAxis(axis => axis
            .Numeric()
            .Min(715)
            .Max(795)
            .MinorTicks(lines => lines.Visible(true))
            .MajorGridLines(lines => lines.Visible(false))
            .PlotBands(bands => {
                bands.Add().From(715).To(752).Color("#ccc").Opacity(0.6);
                bands.Add().From(752).To(772).Color("#ccc").Opacity(0.3);
            })
        )
        .Tooltip(tooltip => tooltip
            .Visible(true)
            .Shared(true)
            .Template("Maximum: #= value.target # <br /> Average: #= value.current #")
        )
    )
    @addTagHelper *, Kendo.Mvc
    <kendo-chart name="chart">
        <category-axis>
            <category-axis-item>
                <major-grid-lines visible="false"/>
                <major-ticks visible="false"/>
            </category-axis-item>
        </category-axis>
        <series>
            <series-item type="ChartSeriesType.Bullet"
                        data="new double[][] { new double[] { 750, 762.5 }}">
            </series-item>
        </series>
        <value-axis>
            <value-axis-item max="795" min="715" name="" type="numeric">

                <major-grid-lines visible="false"/>
                <minor-ticks visible="true"/>
                <plot-bands>
                    <chart-value-axis-plot-band from="715"
                                                to="752"
                                                color="#ccc"
                                                opacity="0.3">
                    </chart-value-axis-plot-band>
                    <chart-value-axis-plot-band from="752"
                                                to="772"
                                                color="#ccc"
                                                opacity="0.3">
                    </chart-value-axis-plot-band>
                </plot-bands>
            </value-axis-item>
        </value-axis>
        <chart-area>
            <margin bottom="0" left="0" right="0" top="0"/>
        </chart-area>
        <chart-legend visible="false">
        </chart-legend>
        <tooltip shared="true" template="Maximum: #= value.target # <br /> Average: #= value.current #" visible="true">
        </tooltip>
    </kendo-chart>

The configuration from the previous example results in the following Bullet Chart.

A sample Bullet Chart

Customizing the Target Value Lines

You can customize the line that represents the target value through the Target series configuration. Target exposes the Border, Color, and Line main settings that control the line appearance.

The following example demonstrates how to use all three options to customize the target line.

    .Series(series =>
    {
        series
        .Bullet(new double[][] { new double[] { 780, 762.5 } })
        .Color("darkblue")
        .Target(target=>target
        .Color("green")
        .Border(b=>b
            .Color("turquoise")
            .Width(2)
        )
        .Line(l=>l.Width(6))
        );
    })
    <series>
        <series-item type="ChartSeriesType.Bullet"
                     data="new double[][] { new double[] { 750, 762.5 }}"
                     color="darkblue">
             <target color="green">
                 <border color="turquoise" width="2" />
                 <line width="6"/>
             </target>
        </series-item>
    </series>

A Bullet Chart with custom target line

See Also

In this article