gramex-bullet-chart
v1.0.2
Published
The bullet chart is a compact and efficient way to display performance data, comparing a primary measure to one or more other measures. It is particularly useful for visualizing key performance indicators (KPIs) and their targets.
Downloads
8
Readme
Bullet Chart Generator
Overview
This JavaScript function, drawBulletChart, generates a bullet chart using D3.js. The bullet chart is a compact and efficient way to display performance data, comparing a primary measure to one or more other measures. It is particularly useful for visualizing key performance indicators (KPIs) and their targets.
Usage
Parameters
selector(string): The CSS selector for the container where the bullet chart will be rendered.config(object): Configuration settings for the chart.width(number): The width of the chart.height(number): The height of the chart.rectColors(object): Object containing color settings for different chart elements.frontColor(string): Color of the front rectangle representing the current value.backColor(string): Color of the back rectangle representing the previous value.targetColor(string): Color of the target line.
font(object): Font settings for chart text.title(object): Title text settings.size(number): Font size.color(string): Font color.
subtitle(object): Subtitle text settings.size(number): Font size.color(string): Font color.
comparison(object): Comparison text settings.size(number): Font size.color(string): Font color.
currentPeriod(object): Current period text settings.size(number): Font size.color(string): Font color.
data(array): An array of objects, each containing data for a single bullet chart.max(number): The maximum value for scaling.previous(number): The previous value.current(number): The current value.target(number): The target value.previousTitle(string): Tooltip text for the previous value.currentTitle(string): Tooltip text for the current value.targetTitle(string): Tooltip text for the target value.titleText(string): Title text for the chart.subtitleText(string): Subtitle text for the chart.comparisonText(string): Comparison text for the chart.currentPeriodText(string): Text for the current period.
Example
const selector = "#chart-container";
const config = {
width: 300,
height: 80,
rectColors: {
frontColor: "#3498db",
backColor: "#ecf0f1",
targetColor: "#e74c3c",
},
font: {
title: { size: 14, color: "#333" },
subtitle: { size: 12, color: "#555" },
comparison: { size: 10, color: "#777" },
currentPeriod: { size: 10, color: "#888" },
},
};
const data = [
{
max: 100,
previous: 70,
current: 85,
target: 90,
previousTitle: "Previous Value: 70",
currentTitle: "Current Value: 85",
targetTitle: "Target Value: 90",
titleText: "Sales Performance",
subtitleText: "This Month",
comparisonText: "vs Last Month",
currentPeriodText: "Current Period: Jan 2023",
},
// Add more data objects as needed
];
drawBulletChart(selector, config, data);