2014-11-13 3 views
0

Я не могу объяснить это поведение:
Иногда мои диаграммы отображают первую или последнюю метку оси с большим количеством десятичных знаков.Highcharts: проблема с осью Ярлык

enter image description here enter image description here

В мои варианты графика, вот как YAxis выглядеть так:

yAxis : [{ 
    alternateGridColor: "white", 
    gridLineColor : "#E3E3E3", 
    lineWidth: 2, 
    tickLength : 5, 
    lineColor : '#A5A5A5', 
    tickWidth : 2, 
    tickLength : 5, 
    tickColor : '#A5A5A5', 
    labels : { 
     style : { 
      fontWeight : 'bold', 
      fontSize: '10px' 
     }, 
     x : -labelMargin 
    }, 
    tickPixelInterval: 20 
}, 
//more axis 
] 

Как исправить это? Любая помощь оценивается.

ответ

1

Вы не указали, каково должно быть значение ваших меток, поэтому оно использует наивное значение для них, которое может быть числом с плавающей точкой, генерируемым подразделением.

Я предлагаю вам обрабатывать ваши метки вручную что-то вроде этого:

labels: { 
     formatter: function() { 
      return Math.floor(this.value) 
     } 
    } 

Как вы можете видеть, я использую floor() функцию для удаления знаков после запятой.

+1

Я добавил 'format: '{value: .2f}'' и, как и ожидалось, предотвратит появление этого странного поведения. Но когда ось отображает «большие» значения (я имею в виду 1, 2, 3, ..), я не хочу, чтобы ось отображала десятичные знаки. Любой отзыв? – zbMax

+0

Я думаю, что вы можете снова выполнить математическую операцию. Например, согласно моему ответу, это должно быть примерно так: 'return (this.value - Math.floor (this.value))', который разделяет десятичные знаки. – muradin

+0

@zbMax использовать [label formatter] (http://api.highcharts.com/highcharts#yAxis.labels.formatter) и [Highcharts.numberFormat] (http://api.highcharts.com/highcharts#Highcharts.numberFormat), поддерживаемых любыми условиями, которые проверяют значение. –

Смежные вопросы