Draw a horizontal svg gauge.
Play with the settings of the horiz-gauge by visiting the horiz-gauge playground.
Install in your Node project with
npm i horiz-gauge
and use it inside your code via
const gauge = require('horiz-gauge');
or, alternatively
import gauge from 'horize-gauge';
Create the new gauge objects via
let diagram = gauge(settings);
settings
Object The configuration object for the gauge. All data for the gauge is provided with this object.settings.svg
Object The DOM tree element, wich must be an svg tag. The gauge will be attached to this DOM tree element. Example:settings.svg = document.getElementById('gauge');
'gauge'
is the id of a svg tag.settings.id
String? The id of a domtree svg element, to which the gauge will be bound to. The id will only be used in case settings.svg is not provided.settings.fraction
Number? Progress indication for the gauge. A value of 0 is indicating no progress, 1.0 is indicating completion. Default is0.0
settings.fractionLabel
String? A label to show for the progress fraction. Default is''
.settings.fractionColor
String? The color for the fraction indication. Default is'#222'
settings.fractionExceedColor
String? The color to use in case fraction > 1.0.settings.emptyColor
String? Color for the non-progress area of the gauge. Default isborderColor
settings.emptyPattern
Boolean? When true, the empty area will be a pattern made offractionColor
andemptyColor
settings.progressWidth
Number? Width in pixels for the progress gauge without borders and margins. Default is200
.settings.progressHeight
Number? Height in pixels for the progress gauge without borders and margins. Default isfontSize + 2
.settings.borderColor
String? Color of the border of the progress gauge. Default is'#ccc'
settings.borderWidth
Number? Width in pixels for the border of the progress gauge. Default is0
settings.fontSize
Number? Size in pixels for all labels. Default is16
settings.fontFamily
String? The font to use for all labels. Default issans-serif
.settings.margin
{top: Number, right: Number, bottom: Number, left: Number}? The margin for the gauge. Markers and labels are drawn inside of the margin. Default values are:settings.margin = { top: 0, right: 0, bottom: 0, left: 0 }
settings.leftLabel
{label: String, color: String, textAnchor: String}? A label to put to the left of the progress gauge. Must fit into the left margin. Allowed values fortextAnchor
are'start', 'middle', 'end'
. Default values are:settings.leftLabel = { label: '', color: '#222', textAnchor: 'start' }
settings.rightLabel
{label: String, color: String, textAnchor: String}? A label to put to the right of the progress gauge. Must fit into the right margin. Allowed values fortextAnchor
are'start', 'middle', 'end'
. Default values are:settings.rightLabel = { label: '', color: '#222', textAnchor: 'start' }
settings.markers
Array<{fraction: Number, label: String, color: String, position: String, distance: Number, textAnchor: String}>? Highlight fractions outside of the gauge. Each marker is an object with a fraction for the marker and some optional settings. A marker must fit into the margins of the gauge. Allowed values forposition
are'top', 'bottom'
Allowed values fortextAnchor
are'start', 'middle', 'end'
Example:settings.markers = [ { fraction: 0.0, label: 'G1', distance: 20 }, { fraction: 0.2, label: 'G2' }, { fraction: 0.8, label: 'G3', color: 'lightgray', position: 'bottom', textAnchor: 'start'}];
settings.dividers
Array<{fraction: Number, color: String}>? Highlight fractions inside of the gauge. Each divider is an object with a fraction and an optional color. The default forcolor
isemptyColor
. Example:settings.markers = [ { fraction: 0.1 }, { fraction: 0.2, color: 'green' }, { fraction: 0.8, color: 'red'}];
Draw the gauge.
settings
Object? The configuration object for the gauge. Optional. If provided, will overwrite the settings object already given to the constructor.
Clear the gauge.
Draw the gauge and return the result as a string which can be assigned to the SRC attribute of an HTML IMG tag.
Returns string
Draw the gauge and return the result as a SVG tag string.
Returns string