UNPKG

@domoinc/multi-metric-comparison-bar-chart

Version:

MultiMetricComparisonBarChart - Domo Widget

215 lines (150 loc) 3.83 kB
# MultiMetricComparisonBarChart Bar chart that compares multiple metrics. ## Configuration Options #### barHeight Type: `number` Default: `30` Units: `px` Height of the bars #### chartGap Type: `number` Default: `10` Units: `px` The space between the bars #### chartName Type: `string` Default: `"MultiMetricComparisonBarChart"` Name of chart for reporting #### chartPrimarySeriesColors Type: `colorArray` Default: `[["#D9EBFD","#B7DAF5","#90c4e4","#73B0D7","#4E8CBA","#31689B"],["#DDF4BA","#BBE491","#A0D771","#80C25D","#559E38","#387B26"],["#FDECAD","#FCCF84","#FBAD56","#FB8D34","#E45621","#A43724"],["#F3E4FE","#DDC8EF","#C5ACDE","#B391CA","#8F6DC0","#7940A1"],["#FCD7E6","#FBB6DD","#F395CD","#EE76BF","#CF51AC","#A62A92"],["#D8F4DE","#ABE4CA","#8DD5BE","#68BEA8","#46998A","#227872"],["#FDDDDD","#FCBCB7","#FD9A93","#FD7F76","#e45850","#c92e25"]]` The primary colors used to represent series data #### generalWashoutColor Type: `color` Default: `"#E4E5E5"` Color used to indicate elements that are not being highlighted #### height Type: `number` Default: `400` Units: `px` Height of the widget #### isOnMobile Type: `boolean` Default: `false` If true, it signals to the widget that it is running on a mobile device. Should be called before draw and then NEVER changed. #### labelColor Type: `color` Default: `"#888888"` Font color for the labels #### labelSize Type: `number` Default: `12` Units: `px` Font size for the labels #### shouldValidate Type: `boolean` Default: `true` Flag for turning off data validation #### showAnimations Type: `boolean` Default: `true` Enable or disable the initial animation #### textFontFamily Type: `string` Default: `"Open Sans"` #### textLabel Type: `function` Default: `"function (d, i) {\n\t return d[0] + ' ' + summaryNumber.summaryNumber(d[1]);\n\t }"` The function used for the text labels #### titleColor Type: `color` Default: `"#333"` Font color for the titles #### titleSize Type: `number` Default: `12` Units: `px` Font size for the titles #### titleWeight Type: `number` Default: `700` Font weight for the title text #### updateSizeableConfigs Type: `boolean` Default: `true` Flag for turning off the mimic of illustrator's scale functionality #### width Type: `number` Default: `400` Units: `px` Width of the widget ## Data Definition #### Label Type: `string` Default validate: ```js function (d) { return this.accessor(d) !== undefined; } ``` Default accessor: ```js function (line) { return String(line[1]); } ``` #### Metric Type: `string` Default validate: ```js function (d) { return this.accessor(d) !== undefined; } ``` Default accessor: ```js function (line) { return String(line[0]); } ``` #### Value Type: `number` Default validate: ```js function (d) { return !isNaN(this.accessor(d)) && this.accessor(d) > 0; } ``` Default accessor: ```js function (line) { return Number(line[2]); } ``` ## Events #### Dispatch Events dispatch:mouseenter dispatch:mouseleave #### External Events external:mouseover external:mouseout ## Example ```js //Setup some fake data var data = [ ['North', 'Jan', 600], ['North', 'Feb', 100], ['South', 'Jan', 10000], ['South', 'Mar', 7000], ['East', 'Feb', 20], ['East', 'Mar', 74] ]; var aWidth = 500; var aHeight = 500; //Initialze the widget var chart = d3.select('#vis') .append('svg') .attr({ height: aHeight, width: aWidth }) .append('g') .attr('transform', 'translate(125,146)') .chart('MultiMetricComparisonBarChart') .c({ width: 250, height: 263 }) // .colorScale(d3.scale.ordinal().domain(['Jan', 'Feb', 'Mar']).range(['red', 'orange', 'green'])); //Render the chart with data chart._notifier.showMessage(true); chart.draw(data); ```