2016-07-14 85 views
1

我正在使用ChartJs V2。試圖沒有水平網格線,但仍然有滴答的一點滴答聲。這怎麼可能?我使用的角度,圖表當前設置的全局選項:Chart.js V2 ticklines no grid

scales: { 
      yAxes: [{ 
       gridLines: { 
        display: false, 
        drawTicks: true, 
       } 
      }], 
     } 

我有什麼:

https://i.imgur.com/NGG8M6S.png

我想要什麼:

https://i.imgur.com/XqEFOb6.png

回答

1

你需要什麼這是Chart.js plugins

它們讓您能夠處理觸發渲染或更新等事件時發生的情況。

例如,對於您的情況,我們希望再次繪製通過options.scales.yAxes.gridLinesdisplay:false屬性擦除的刻度。
然後我們需要afterDraw事件。在chart.js之插件都是這樣產生:

Chart.pluginService.register({ 
    afterDraw: function(chart, easing) { 
     // Your code in here 
    } 
}); 


現在你已經知道如何 做,讓我們專注於 做什麼

我們想要的是重新顯示yAxes上的刻度線。但他們被刪除(,正如我上面說的)。

我們無法將它們帶回,但由於Chart.js圖表​​使用的是<canvas>標籤,因此我們可以嘗試再次繪製它們。

要做到這一點動態(最讓我至少可以),我們將需要循環在你的y斧頭的不同蜱,並通過也讓你的斧頭的高度,我們就可以繪製我們自己的蜱蟲。


下面是 a jsFiddle有什麼,我們必須做的,當然工作的完整示例,和這裏的解釋( 由OP改善)是其預覽:

enter image description here

+1

難以置信詳細的答覆。謝謝!讓我再次相信人性。 – Peheje

+1

@Peheje哇我很高興我幫了你很多!不客氣:) – tektiv

+1

帶着忘恩負義的危險(我不太感謝你:-))。我發現ticklines只是有點偏離,而且越高越好。我發現它足以將索引添加到循環中的y條目。 (entry * height/max)+ idx。 https://jsfiddle.net/8w64h7ro/1/ – Peheje

1

網格線display必須選擇被設置爲true以繪製網格線的滴答部分。

要僅顯示刻度,請使用drawOnChartArea選項關閉圖表上的網格線。

scales: { 
     yAxes: [{ 
      gridLines: { 
       display: true, 
       drawOnChartArea: false, 
      } 
     }], 
    } 

編輯:

JSFiddle