2016-04-22 74 views
4

我需要更改Chartjs图表上某个特定网格线上的线宽(或颜色)。如何更改一条特定线的网格线宽度

在下面的示例中,我想仅增加水平网格线在y轴60处的网格线宽度(或更改颜色)。我尽力在Chartjs文档中找到解决方案,但失败了。也许目前还没有这方面的支持,如果是的话,我想知道是否有人可以帮助我添加此功能。

http://i.stack.imgur.com/nFB77.jpg

谢谢!

回答

3

您可以扩展图表覆盖规模绘制功能,绘制出更厚/不同颜色的线,你想

预览

enter image description here


脚本

Chart.types.Bar.extend({ 
    name: "BarAlt", 
    initialize: function(data){ 
     Chart.types.Bar.prototype.initialize.apply(this, arguments); 

     var originalScaleDraw = this.scale.draw; 
     this.scale.draw = function() { 
      originalScaleDraw.apply(this, arguments); 
      this.ctx.save(); 
      this.ctx.beginPath(); 
      this.ctx.lineWidth = this.gridLineWidth * 5; 
      this.ctx.strokeStyle = "rgba(120,120,220,1)"; 
      this.ctx.moveTo(Math.round(this.xScalePaddingLeft), this.calculateY(60)); 
      this.ctx.lineTo(this.width, this.calculateY(60)); 
      this.ctx.stroke(); 
      this.ctx.closePath(); 
      this.ctx.restore(); 
     } 
    } 
}); 

然后

... 
new Chart(ctx).BarAlt(data); 

小提琴 - http://jsfiddle.net/udojrq57/

+0

谢谢,这正是我一直在寻找和它的工作很大。 – Billy