设置Highchart柱子最大宽度( 让 highcharts支持maxPointWidth属性)


我们在设置图表时候经常会动态设置数据列的宽度,但是如果数量较少的话,经常会比较难看,于是我们会想到限制一个最大宽度。这段代码应该适合你。

 (function(H) { var each = H.each; H.wrap(H.seriesTypes.column.prototype, 'drawPoints', function(proceed) { var series = this; if (series.data.length > 0) { var width = series.barW > series.options.maxPointWidth ? series.options.maxPointWidth : series.barW; each(this.data, function(point) { point.shapeArgs.x += (point.shapeArgs.width - width) / 2; point.shapeArgs.width = width; }); } proceed.call(this); }) })(Highcharts); 

添加完代码后,在你的Highcharts属性里增加这个,设置就可以完成对最大宽度的支持了。

 
series: [{
  // .... data: data['series']['stars'], tooltip: { valueSuffix: ' 颗' }, maxPointWidth: 30, // 最大宽度 采用svg宽度 }]

或者设置

plotOptions: {

column: {
    cursor: 'pointer',
    pointPadding: 0.2,
    borderWidth: 0,
    //pointWidth: 30,
   maxPointWidth: 100 // 设置最大宽度

     }

        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM