2017-07-27 105 views
0

我正在嘗試將yaxis和xaxis四捨五入。例如,圖中的3843應該是3.843,工具提示顯示爲3.843 k。Highcharts四捨五入yaxis和xaxis數字

我已經得到了工具提示工作,但不能得到它來改變圖yaxis和xaxis值,使圖形可以充分顯示所有方面。

正如你可以在這裏看到: http://jsfiddle.net/kzL0phfu/

這是X軸的樣子

yAxis: { 
gridLineInterpolation: 'polygon', 
lineWidth: 0, 
min: 0, 
gridLineColor: "#808080", 
gridLineDashStyle: "Solid", 
gridLineWidth: 2, 
labels: { 
    format: '{value:.2f}', 
    style: { 
    color: '#c4c4c4', 
    font: '11px Trebuchet MS, Verdana, sans-serif' 
    } 
} 
} 

回答

0

使用dataLabelsformatter達到期望的結果

plotOptions: { 
    area: { 
     dataLabels: { 
     useHTML: true, 
     enabled: true, 
     formatter: function() { 
      value = this.y; 
      numericSymbolDetector = Math.abs(this.y); 
      if (numericSymbolDetector > 1000) { 
      value = Highcharts.numberFormat(value/1000, 3, '.', '') ; 
      } 
      return value 
     }, 
     style: { 
      color: '#c4c4c4', 
      font: '5px Trebuchet MS, Verdana, sans-serif' 
     } 
     }, 
     //enableMouseTracking: false 
    }, 
    series: { 
     lineColor: '#808080' 
    } 
    }, 

Fiddle示範

+0

您好,是但唯一的問題是與此有關的圖表不等於爲3.84仍顯示更大然後7因爲3.84是3840,但我所做的是使它能夠同樣地顯示圖表,以便整個圖表顯示,而不是由於數字較大而顯示該行。正如你所看到的,6.245仍然超過了圖表上的5000點,它應該只在5點以上,但是最後是k點。 –

+0

仍然沒有得到你想要的。你可以添加一些截圖,顯示你想要的東西。 –

+0

我想要做的就是當它的3000將它舍入到3k時,而且在圖上顯示爲3而不是3000.目前,工具提示輪到3k和圖上的標籤,但圖中它自身不會舍入爲3.由於目前您可以看到,由於數字的大小,您無法看到圖表的其他部分。 –

0

如果要以相同方式顯示yAxis標籤,請從yAxis.labels對象中除去格式化程序(然後將顯示千位前綴)。如果您想要將點的精確值顯示爲y軸標籤,則可以在載入事件時更新tickPositions陣列並充分格式化它們。看看下面的例子。

API參考:
http://api.highcharts.com/highcharts/chart.events.load http://api.highcharts.com/highcharts/yAxis.tickPositions

實施例:
http://jsfiddle.net/ojno8rx1/

+0

你好,是的,但唯一的問題在於這個圖表與3.84仍然不相同,因爲3.84仍然顯示爲大於7,因爲3.84是3840,但是我之後所做的是使它能夠平等地顯示圖表,以便整個圖表顯示而不是由於它對一個大數字。 –