2015-12-08 2 views
4

У меня возникают проблемы с ярлыками меток chart.js. У меня есть следующие данные.Chart.js количество меток Y-AXIS для многих знаков после запятой

var data = { 
labels: ["1","2","3","4","5"], 
datasets: [ 
    { 
     label: "My First dataset", 
     fillColor: "rgba(220,220,220,0.5)", 
     strokeColor: "rgba(220,220,220,0.8)", 
     highlightFill: "rgba(220,220,220,0.75)", 
     highlightStroke: "rgba(220,220,220,1)", 
     data: [0.15000000000000088,0.15000000000000133,0.15000000000000177,0.15000000000000221,0.15000000000000308] 
    }, 
] 
}; 

, и я получаю этот результат.

Image of the Graph Result

Как вы можете видеть этикетки в Y-оси вырезают после пятого знака после запятой. Как показать все десятичные разряды из моих данных в ярлыках Y-Axis?

TIA.

ответ

1

Попробуйте

var data = { 
labels: ["1","2","3","4","5"], 
datasets: [ 
    { 
     label: "My First dataset", 
     fillColor: "rgba(220,220,220,0.5)", 
     strokeColor: "rgba(220,220,220,0.8)", 
     highlightFill: "rgba(220,220,220,0.75)", 
     highlightStroke: "rgba(220,220,220,1)", 
     data: [15000000000000088,15000000000000133,15000000000000177,15000000000000221,15000000000000308] 
    }, 
] 
}; 

// create chart 
var ctx = document.getElementById("radaranalytics").getContext('2d'); 
var radar = new Chart(ctx).Bar(data, { 
    scaleBeginAtZero: false, 
    scaleLabel: "<%=value/100000000000000000%>", 
    tooltipTemplate: "<%if (label){%><%=label%>: <%}%><%= value/100000000000000000 %>", 
}); 

скрипку - https://jsfiddle.net/2g794kxh/


Обратите внимание, что будет округление значений в диаграмме за пределом. См. https://stackoverflow.com/a/30373552/360067 для получения дополнительной информации.

Если вы хотите избежать того, что ваша лучшая ставка будет относиться к статической части вашего масштаба/значения в виде строки, то есть ваши данные будут 88, 133, 177 и т. Д., А префикс для шкалы/значения будет 0.150000 .....

-2

Попытайтесь изменить значение scaleStepWidth в конфигурации диаграммы на то, что отличается от ваших значений. Это также должно влиять на количество десятичных знаков, показанных на шкале, как показано в файле Chart.Core.js в источнике Chart.js на github.

new Chart(ctx).Bar(datasets, {scaleStepWidth : 0.00000000000000050}); 
+0

У меня те же результаты, даже после сдачи scaleStepWidth: 0.00000000000000050 – RJDO

0

Это, скорее всего, изменилось с тех пор был задан вопрос, но теперь, кажется предпочтительным способом:

var chart = new Chart(ctx, { 
type: 'line', 
data: data, 
options: { 
    scales: { 
     yAxes: [{ 
      ticks: { 
       // Include a dollar sign in the ticks 
       callback: function(value, index, values) { 
        return '$' + value; 
       } 
      } 
     }] 
    } 
} 
}); 

http://www.chartjs.org/docs/latest/axes/labelling.html#creating-custom-tick-formats

+0

Мне хотелось бы знать, почему это было проголосовано. – jezmck

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