syncfusion-blazor-bullet-chart — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-blazor-bullet-chart (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
NuGet: Syncfusion.Blazor.Charts + Syncfusion.Blazor.Themes (or Syncfusion.Blazor.BulletChart for individual package) Namespace: Syncfusion.Blazor.Charts
A comprehensive skill for implementing Syncfusion Blazor Bullet Chart components for KPI and performance visualization. The Bullet Chart is a variation of bar charts designed specifically for displaying key performance indicators with actual values, target markers, and qualitative ranges in a compact space.
Use this skill immediately when you need to:
The Syncfusion Blazor Bullet Chart (SfBulletChart) is a specialized charting component optimized for KPI visualization. It presents:
Key Characteristics:
A concise summary of the key API surface for SfBulletChart<TValue> — see references/api-reference.md for the full reference and examples.
SfBulletChart<TValue> — Key Parameters
DataManager).OrientationType — Horizontal or Vertical.FeatureType — Actual bar rendering (Rect or Dot).List<TargetType> — Marker shapes for targets (e.g., Rect, Circle, Cross).Core Child Components
End, Color, Opacity).BulletChartRange entries.Enable, Template, TextStyle).Enable, Template, BulletChartTooltipTextStyle).Appearance & Layout
Events
Important Enums
Horizontal | Vertical.Rect | Circle | Cross.Rect | Dot.For full API details, method signatures, event argument classes, and quick examples, consult references/api-reference.md.
📄 Read: references/getting-started.md
Start here for installation, setup, and your first bullet chart. Covers:
#### Actual and Target Bars
📄 Read: references/actual-target-bars.md
Learn about the two primary chart elements:
#### Qualitative Ranges
📄 Read: references/ranges.md
Configure background ranges that define performance zones:
#### Data Binding
📄 Read: references/data-binding.md
Configure data sources for bullet charts:
#### Axis Customization
📄 Read: references/axis-customization.md
Customize the quantitative scale:
#### Visual Customization
📄 Read: references/visual-customization.md
Control appearance, themes, and layout:
#### Data Labels, Tooltips, and Legend
📄 Read: references/data-labels-tooltips-legend.md
Enhance data visibility and interaction:
#### Events and Accessibility
📄 Read: references/events-accessibility.md
Handle user interactions and ensure accessibility:
Here's a minimal bullet chart showing revenue performance:
@using Syncfusion.Blazor.Charts
<SfBulletChart DataSource="@RevenueData"
ValueField="ActualRevenue"
TargetField="TargetRevenue"
Minimum="0"
Maximum="300"
Interval="50"
Title="Revenue (in thousands)">
<BulletChartRangeCollection>
<BulletChartRange End="150" Color="#d32f2f"></BulletChartRange>
<BulletChartRange End="250" Color="#ffa726"></BulletChartRange>
<BulletChartRange End="300" Color="#66bb6a"></BulletChartRange>
</BulletChartRangeCollection>
</SfBulletChart>
@code {
public class RevenueMetric
{
public double ActualRevenue { get; set; }
public double TargetRevenue { get; set; }
}
public List<RevenueMetric> RevenueData = new List<RevenueMetric>
{
new RevenueMetric { ActualRevenue = 270, TargetRevenue = 250 }
};
}What this creates:
Display multiple performance indicators in a vertical layout:
@using Syncfusion.Blazor.Charts
<SfBulletChart DataSource="@PerformanceData"
CategoryField="Metric"
ValueField="Actual"
TargetField="Target"
Orientation="OrientationType.Vertical"
Height="400"
Minimum="0"
Maximum="100">
<BulletChartRangeCollection>
<BulletChartRange End="35" Color="#d32f2f"></BulletChartRange>
<BulletChartRange End="70" Color="#ffa726"></BulletChartRange>
<BulletChartRange End="100" Color="#66bb6a"></BulletChartRange>
</BulletChartRangeCollection>
</SfBulletChart>
@code {
public class KPIMetric
{
public string Metric { get; set; }
public double Actual { get; set; }
public double Target { get; set; }
}
public List<KPIMetric> PerformanceData = new List<KPIMetric>
{
new KPIMetric { Metric = "Revenue", Actual = 85, Target = 80 },
new KPIMetric { Metric = "Profit", Actual = 65, Target = 75 },
new KPIMetric { Metric = "Market Share", Actual = 45, Target = 60 },
new KPIMetric { Metric = "Customer Satisfaction", Actual = 90, Target = 85 }
};
}Track sales performance with custom colors and target marker:
@using Syncfusion.Blazor.Charts
<SfBulletChart DataSource="@SalesData"
ValueField="Sales"
TargetField="Quota"
TargetTypes="new List<Syncfusion.Blazor.Charts.TargetType> { Syncfusion.Blazor.Charts.TargetType.Circle }"
Type="FeatureType.Rect"
Minimum="0"
Maximum="500"
Interval="100"
Title="Q1 Sales Performance">
<BulletChartRangeCollection>
<BulletChartRange End="200" Color="#ff5252" Opacity="0.5"></BulletChartRange>
<BulletChartRange End="350" Color="#ffeb3b" Opacity="0.5"></BulletChartRange>
<BulletChartRange End="500" Color="#4caf50" Opacity="0.5"></BulletChartRange>
</BulletChartRangeCollection>
<BulletChartTooltip TValue="SalesMetric" Enable="true">
<BulletChartTooltipTextStyle Color="white" FontWeight="600"></BulletChartTooltipTextStyle>
</BulletChartTooltip>
</SfBulletChart>
@code {
public class SalesMetric
{
public double Sales { get; set; }
public double Quota { get; set; }
}
public List<SalesMetric> SalesData = new List<SalesMetric>
{
new SalesMetric { Sales = 380, Quota = 350 }
};
}Compact KPI card for executive dashboards:
@using Syncfusion.Blazor.Charts
<div style="width: 300px; padding: 16px; border: 1px solid #e0e0e0; border-radius: 8px;">
<SfBulletChart DataSource="@MetricData"
ValueField="Value"
TargetField="Goal"
Minimum="0"
Maximum="100"
Interval="25"
Width="100%"
Height="60"
Title="Customer Retention Rate">
<BulletChartRangeCollection>
<BulletChartRange End="60" Color="#f44336"></BulletChartRange>
<BulletChartRange End="80" Color="#ff9800"></BulletChartRange>
<BulletChartRange End="100" Color="#4caf50"></BulletChartRange>
</BulletChartRangeCollection>
<BulletChartDataLabel>
<BulletChartDataLabelStyle Color="#FFFFFF" Opacity="1" Size="15px" FontStyle="italic"></BulletChartDataLabelStyle>
</BulletChartDataLabel>
</SfBulletChart>
</div>
@code {
public class Metric
{
public double Value { get; set; }
public double Goal { get; set; }
}
public List<Metric> MetricData = new List<Metric>
{
new Metric { Value = 92, Goal = 85 }
};
}| Property | Type | Description | Default |
|---|---|---|---|
DataSource | object | Data collection for the chart | null |
ValueField | string | Property name for actual value | null |
TargetField | string | Property name for target value | null |
CategoryField | string | Property for category grouping | null |
Minimum | double | Minimum scale value | 0 |
Maximum | double | Maximum scale value | 100 |
Interval | double | Scale interval | 10 |
| Property | Type | Description | Default |
|---|---|---|---|
Type | FeatureType | Actual bar type (Rect, Dot) | Rect |
TargetTypes | List<TargetType> | Target marker shape | Rect |
Orientation | OrientationType | Layout direction | Horizontal |
Width | string | Chart width | "100%" |
Height | string | Chart height | "126px" |
Title | string | Chart title | "" |
Theme | ChartTheme | Visual theme | Material |
| Property | Type | Description |
|---|---|---|
BulletChartRangeCollection | Component | Qualitative ranges |
BulletChartDataLabel | Component | Data label configuration |
BulletChartTooltip | Component | Tooltip settings |
BulletChartLegend | Component | Legend configuration |
When implementing a bullet chart, follow this sequence:
For questions or issues, refer to the troubleshooting sections in each reference file or consult Events and Accessibility for compliance requirements.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.