mcpField
S
syncfusion-aspnetcore-bullet-chart

syncfusion-aspnetcore-bullet-chart

github.com/syncfusionDesign & UI051 installsUpdated 2w ago
Repository

About syncfusion-aspnetcore-bullet-chart

A Syncfusion Bullet Chart skill for ASP.NET Core developers, covering compact charts that compare actual values with targets and performance ranges. It guides data binding, visual configuration, and accessibility setup.

Key features

  1. 01Compare actual values and targets
  2. 02Show performance ranges
  3. 03Customize axes and labels
  4. 04Configure tooltips and animation
  5. 05Keyboard and RTL support
  6. 06Responsive sizing and themes

Use cases

  1. 01Compare sales with quotas
  2. 02Track employee metrics against goals
  3. 03Display revenue against forecasts
  4. 04Monitor project milestone progress

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/aspnetcore-ui-components-skills --skill syncfusion-aspnetcore-bullet-chart

After installing, type/syncfusion-aspnetcore-bullet-chartin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
api-reference.md
axis-customization.md
customization.md
data-and-accessibility.md
data-binding.md
getting-started.md
ranges-and-bars.md

Details

From the project README

Syncfusion ASP.NET Core Bullet Chart

The Bullet Chart is a variation of a bar chart that displays actual performance against target benchmarks in a compact, visually efficient format. It combines multiple data elements (value bar, target marker, ranges) to provide immediate performance insights.

When to Use This Skill

Use the Bullet Chart skill when you need to:

  • Compare Performance vs. Target - Display actual values alongside target/goal values in a single visualization
  • Build KPI Dashboards - Quickly assess key performance indicators at a glance
  • Show Progress with Benchmarks - Track progress toward goals with comparative ranges (poor, satisfactory, good)
  • Monitor Multiple Metrics - Present multiple bullet charts in a dashboard for comparative analysis
  • Create Compact Visualizations - Fit more data in less space compared to traditional bar charts
  • Build Performance Reports - Executive dashboards, sales tracking, productivity metrics, revenue forecasting

Common scenarios:

  • Sales vs. quota tracking
  • Employee performance vs. targets
  • Project milestones vs. deadlines
  • Revenue vs. forecasts
  • Customer satisfaction scores vs. goals

Navigation and Documentation Guide

Getting Started

📄 Read: references/getting-started.md

  • Installation and ASP.NET Core project setup
  • NuGet package installation
  • Adding TagHelper and script resources
  • Creating your first bullet chart with data
  • Adding titles to charts
Data Binding and Configuration

📄 Read: references/data-binding.md

  • Configuring DataSource property
  • Mapping value and target fields
  • Working with data models
  • Dynamic and static data binding
  • Data structure best practices
Axis Customization

📄 Read: references/axis-customization.md

  • Customizing tick lines and labels
  • Label formatting and number formatting
  • Tick placement and label placement options
  • Category label configuration
  • Advanced axis positioning
Ranges and Comparative Bars

📄 Read: references/ranges-and-bars.md

  • Configuring performance ranges (poor, satisfactory, good)
  • Target bar types (Rect, Cross, circle)
  • Value bar customization
  • Creating effective comparative visualizations
  • Color schemes and styling ranges
Customization and Layout

📄 Read: references/customization.md

  • Orientation (horizontal vs. vertical rendering)
  • Right-to-Left (RTL) support
  • Animation settings and transitions
  • Chart sizing and responsive dimensions
  • Theme and color customization
Data Labels, Tooltips, and Accessibility

📄 Read: references/data-and-accessibility.md

  • Displaying data labels
  • Configuring hover tooltips
  • WAI-ARIA attributes for accessibility
  • Keyboard navigation support
  • Creating accessible dashboards

Quick Start Example

Basic Bullet Chart with Value and Target:

// CSHTML.cs - Controller/Page code
public class QuickStartBulletData
{
    public double Value { get; set; }
    public double Target { get; set; }
    public string Category { get; set; }
}

public IActionResult Index()
{
    ViewBag.ChartData = new List<QuickStartBulletData>
    {
        new QuickStartBulletData { Value = 75, Target = 80, Category = "Q1" },
        new QuickStartBulletData { Value = 85, Target = 90, Category = "Q2" },
        new QuickStartBulletData { Value = 65, Target = 75, Category = "Q3" }
    };
    return View();
}
<!-- CSHTML View -->
<ejs-bulletchart id="container" 
    dataSource="@ViewBag.ChartData" 
    valueField="Value" 
    targetField="Target"
    categoryField="Category"
    minimum="0"
    maximum="100"
    interval="20"
    title="Sales Performance">
    <e-bullet-range-collection>
        <e-bullet-range end="50" color="lightgray"></e-bullet-range>
        <e-bullet-range end="75" color="lightblue"></e-bullet-range>
        <e-bullet-range end="100" color="lightgreen"></e-bullet-range>
    </e-bullet-range-collection>
</ejs-bulletchart>

Common Patterns

Pattern 1: Dashboard with Multiple Bullet Charts

Display multiple metrics side-by-side for executive monitoring:

// Each metric has its own data and configuration
var salesData = new List<BulletChartData> { /* sales vs quota */ };
var revenueData = new List<BulletChartData> { /* revenue vs forecast */ };
var customerSatisfaction = new List<BulletChartData> { /* score vs target */ };
Pattern 2: Using Categories for Multiple Values

Display multiple categories in one chart:

<ejs-bulletchart id="container" 
    dataSource="@ViewBag.MultipleCategoryData"
    categoryField="Category"
    valueField="Value"
    targetField="Target">
</ejs-bulletchart>
Pattern 3: Range-Based Color Coding

Define ranges to automatically color-code performance levels:

<e-bullet-range-collection>
    <e-bullet-range end="25" color="#ff6b6b"></e-bullet-range>  <!-- Poor -->
    <e-bullet-range end="50" color="#ffd43b"></e-bullet-range>  <!-- Fair -->
    <e-bullet-range end="75" color="#69db7c"></e-bullet-range>  <!-- Good -->
    <e-bullet-range end="100" color="#51cf66"></e-bullet-range> <!-- Excellent -->
</e-bullet-range-collection>

Key Configuration Props

PropTypeDefaultPurpose
dataSourceobjectnullData collection to display
valueFieldstring""Field name mapping to actual/feature values
targetFieldstring""Field name mapping to target/comparative values
categoryFieldstringnullField for category labels on multi-row charts
titlestring""Chart title text
subtitlestring""Chart subtitle text
titlePositionTextPositionTopPosition of title: Top, Bottom, Left, Right
titleStyleBulletChartBulletLabelStylenullFont/style for the chart title
subtitleStyleBulletChartBulletLabelStylenullFont/style for the chart subtitle
orientationOrientationTypeHorizontalLayout direction: Horizontal or Vertical
minimumdoubleNaNMinimum value of the scale axis
maximumdoubleNaNMaximum value of the scale axis
intervaldoubleNaNInterval between axis tick marks
rangesList<Range>nullQualitative range definitions for background coloring
animationBulletChartAnimationnullAnimation settings (enable, duration, delay)
tooltipBulletChartBulletTooltipSettingsnullHover tooltip configuration
dataLabelBulletChartBulletDataLabelnullValue labels displayed on the feature bar
labelStyleBulletChartBulletLabelStylenullFont/style for axis labels
categoryLabelStyleBulletChartBulletLabelStylenullFont/style for category labels
labelFormatstring""Axis label number format (e.g., "n2", "c2", "p1")
labelPositionLabelsPlacementOutsideAxis label placement: Inside or Outside
tickPositionTickPositionOutsideTick mark placement: Inside or Outside
majorTickLinesBulletChartMajorTickLinesnullMajor tick line width, height, and color
minorTickLinesBulletChartMinorTickLinesnullMinor tick line width, height, and color
minorTicksPerIntervaldouble4Number of minor ticks between each major tick
opposedPositionbooleanfalseRender axis on opposite side
enableGroupSeparatorbooleanfalseShow thousands separator in axis labels
enableRtlbooleanfalseRight-to-left rendering support
enablePersistencebooleanfalsePersist component state between page reloads
themeChartThemeMaterialVisual theme (e.g., Material, Bootstrap5, Fluent2)
widthstringnullChart width in pixels or percentage (e.g., "500px", "100%")
heightstringnullChart height in pixels or percentage
marginBulletChartMarginnullLeft, right, top, and bottom margins
borderBulletChartContainerBordernullChart border color and width
valueFillstringnullFill color for the feature/actual bar
valueHeightdouble6Height/thickness of the feature bar
valueBorderBulletChartValueBordernullBorder color and width around the feature bar
typeFeatureTypeRectShape of the feature bar: Rect or Dot
targetColorstring"#191919"Color of the comparative/target marker
targetWidthdouble5Width/thickness of the target marker
targetTypesobjectnullShape of the target marker(s): Rect, Circle, or Cross
legendSettingsBulletChartBulletChartLegendSettingsnullLegend visibility and positioning
querystringnullQuery string for filtering the data source
localestringnullLocale for number formatting
tabIndexdouble1Tab index for keyboard accessibility
htmlAttributesobject—Additional HTML attributes (title, name, etc.)
Events
EventPurpose
loadFires before the bullet chart loads
loadedFires after the bullet chart renders
tooltipRenderFires before a tooltip is rendered
legendRenderFires before the legend is rendered
beforePrintFires before the chart is printed
bulletChartMouseClickFires when the chart is clicked

Common Use Cases

Sales Dashboard:

  • Track individual sales rep performance vs. quota
  • Display quarterly revenue vs. forecast
  • Monitor pipeline vs. targets

HR & Performance:

  • Employee KPIs vs. goals
  • Team productivity metrics
  • Project milestone progress

Operations:

  • System uptime vs. SLA targets
  • Response time vs. acceptable levels
  • Cost vs. budget

Retail:

  • Store sales vs. targets
  • Inventory turnover vs. goals
  • Customer satisfaction vs. benchmarks

Comments

Markdown supported