From 191c280387360d0bb2bc232a62cd375a94d28dd2 Mon Sep 17 00:00:00 2001 From: Josh Baker Date: Wed, 6 Jul 2016 13:06:43 -0700 Subject: [PATCH] Added support for manually specifying bar thickness in bar charts --- docs/04-Bar-Chart.md | 2 ++ src/controllers/controller.bar.js | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/docs/04-Bar-Chart.md b/docs/04-Bar-Chart.md index 4e27916b7..afb24fcc7 100644 --- a/docs/04-Bar-Chart.md +++ b/docs/04-Bar-Chart.md @@ -99,6 +99,7 @@ type | String | "Category" | As defined in [Scales](#scales-category-scale). display | Boolean | true | If true, show the scale. id | String | "x-axis-0" | Id of the axis so that data can bind to it stacked | Boolean | false | If true, bars are stacked on the x-axis +barThickness | Number | | Manually set width of each bar in pixels. If not set, the bars are sized automatically. categoryPercentage | Number | 0.8 | Percent (0-1) of the available width (the space between the gridlines for small datasets) for each data-point to use for the bars. [Read More](#bar-chart-barpercentage-vs-categorypercentage) barPercentage | Number | 0.9 | Percent (0-1) of the available width each bar should be within the category percentage. 1.0 will take the whole category width and put the bars right next to each other. [Read More](#bar-chart-barpercentage-vs-categorypercentage) gridLines | Object | [See Scales](#scales) | @@ -110,6 +111,7 @@ type | String | "linear" | As defined in [Scales](#scales-linear-scale). display | Boolean | true | If true, show the scale. id | String | "y-axis-0" | Id of the axis so that data can bind to it. stacked | Boolean | false | If true, bars are stacked on the y-axis +barThickness | Number | | Manually set height of each bar in pixels. If not set, the bars are sized automatically. You can override these for your `Chart` instance by passing a second argument into the `Bar` method as an object with the keys you want to override. diff --git a/src/controllers/controller.bar.js b/src/controllers/controller.bar.js index 29256cd30..056d47031 100644 --- a/src/controllers/controller.bar.js +++ b/src/controllers/controller.bar.js @@ -171,6 +171,9 @@ module.exports = function(Chart) { calculateBarWidth: function(index) { var xScale = this.getScaleForId(this.getMeta().xAxisID); + if (xScale.options.barThickness) { + return xScale.options.barThickness; + } var ruler = this.getRuler(index); return xScale.options.stacked ? ruler.categoryWidth : ruler.barWidth; }, @@ -520,6 +523,9 @@ module.exports = function(Chart) { calculateBarHeight: function (index) { var me = this; var yScale = me.getScaleForId(me.getMeta().yAxisID); + if (yScale.options.barThickness) { + return yScale.options.barThickness; + } var ruler = me.getRuler(index); return yScale.options.stacked ? ruler.categoryHeight : ruler.barHeight; }, -- 2.47.2