如何更改Chart.js水平条形图宽度?

苍蝇

我正在尝试使Chartjs.Horizo​​ntal生成的条变得更薄。

我尝试更改calculateBarWidth以从传入的选项对象返回值。

如果不起作用,我尝试对值进行硬编码以返回到calculateBarWidth(下面的代码)。但是,那也不起作用。

解决这个问题还有其他途径吗?

Chart.Type.extend({
    name: "HorizontalBar",
    defaults : defaultConfig,
    initialize:  function(data){

        //Expose options as a scope variable here so we can access it in the ScaleClass
        var options = this.options;

        this.ScaleClass = Chart.Scale.extend({
            offsetGridLines : true,
            calculateBarX : function(datasetCount, datasetIndex, barIndex){
                var xWidth = this.calculateBaseWidth(),
                    xAbsolute = this.calculateX(barIndex) - (xWidth/2),
                    barWidth = this.calculateBarWidth(datasetCount);

                return xAbsolute + (barWidth * datasetIndex) + (datasetIndex * options.barDatasetSpacing) + barWidth/2;
            },
            calculateBaseWidth : function(){
                return (this.calculateX(1) - this.calculateX(0)) - (2*options.barValueSpacing);
            },
            calculateBarWidth : function(datasetCount){
                return 10;
            },
            // rest of code
土豆皮

只需重写该buildScale方法即可在创建缩放对象后对其进行处理。


预习

在此处输入图片说明


脚本

Chart.types.HorizontalBar.extend({
  name: "HorizontalBarAlt",
  initialize:  function(data){
    var originalBuildScale = this.buildScale;
    var chart = this;
    chart.buildScale = function() {
          var r = originalBuildScale.apply(this, arguments);
          chart.scale.calculateBarHeight = function() {
             return 10;
          }
          return r;
    }
    Chart.types.HorizontalBar.prototype.initialize .apply(this, arguments);
  }
});

小提琴-http: //jsfiddle.net/2mtgsoy3/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

chart.js中的水平条形图

angular-chart.js中的水平条形图

使用chart.js的水平堆积条形图

如何使用Chart.JS创建堆叠的条形图/水平图?

更改Seaborn水平条形图的颜色

如何在条形图Chart.js上绘制水平线

如何在 React 中使用 Chart.js 创建堆叠的水平条形图?

D3.js水平条形图-更改条形方向(从左到右,而不是从右到左)

如何水平居中条形图注释

如何水平显示堆积的条形图?

在Chart.js上创建水平条形图扩展

Chart.js v2是否可以水平绘制条形图?

使用chart.js沿总计数堆叠水平条形图

如何在react-charts中更改条形图中条形图的宽度?

Angular Chart.js 条形图

如何使用d3.js为单个堆叠的水平条形图设置X值?

如何从水平条形图js在两侧制作标签

如何使Chart.js条形图留在原处

熊猫条形图,如何注释分组的水平条形图

D3js 水平条形图:如何从每个条形末尾的数据中添加数字?

如何偏移“chart.js”条形图中条形图的图例?

Chart.js设置条形图的最大条形尺寸

Chart.js 2.7.0分组的水平条形图,如何获取工具提示以显示一个条形而不是整个组的数据?

如何在R中调整条形图的宽度

如何增加ggplot的大小-挤压水平条形图

如何在Python中用点覆盖水平条形图?

chart.js中高图的负条形图

如何创建水平堆叠的条形图,在条形图上本身以及条形图上的标签?

条形图的一些条形图从Chart.js中消失了