2016-07-04 2 views
5

Я просмотрел документацию и подобные вопросы здесь, но, похоже, я не нашел рабочего решения для своей проблемы.Ярлыки для ярлыков формата диаграммы в Chart.js

Я использую Chart.js v.2.1.6, и у меня есть диаграмма с процентными значениями, хранящимися как числа (уже умноженные на 100). Мне нужно как ярлыки оси y, так и всплывающие подсказки для отображения знака % после значений.

Кто-то может пролить свет на это?

Вот вам мой код:

var data = { 
    "labels": ["Label1", "Label2", "Label3", "Label4", "Label5"], 
    "datasets": [{ 
    "label": "Variation", 
    "data": ["56", "-82.3", "25.7", "32.2", "49.99"], 
    "borderWidth": 1, 
    "backgroundColor": "rgba(231, 76, 60, 0.2)", 
    "borderColor": "rgba(231, 76, 60, 1)" 
    }] 
}; 

var myBarChart = new Chart($("#myCanvas"), { 
    type: 'bar', 
    data: data, 
    maintainAspectRatio: false 
}); 

И скрипку: https://jsfiddle.net/tdjk3ncs/

EDIT: решаемые

Я нашел решение благодаря miquelarranz, найти обновленную скрипку:

https://jsfiddle.net/tdjk3ncs/7/

+0

Посмотрите на здесь http://stackoverflow.com/questions/28568773/javascript-chart-js-custom-data-formatting-to-display-on-tooltip –

+0

@SanKrish I я включил опции 'tooltipTemplate' и' multiTooltipTemplate', поскольку они упоминают, но я, похоже, не работал в моем случае ... Может быть, это работает только с линейной диаграммой, а не с диаграммой диаграммы – Mumpo

ответ

4

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

var myBarChart = new Chart($("#myCanvas"), { 
    type: 'bar', 
    data: data, 
    maintainAspectRatio: false, 
    options: { 
     scales: { 
      yAxes: [{ 
       ticks: { 
        // Create scientific notation labels 
        callback: function(value, index, values) { 
         return value + ' %'; 
        } 
       } 
      }] 
     } 
    } 
}); 

Documentation about scales

скрипку обновленных с %: Fiddle

И если вы хотите изменить текст, отображаемый в подсказках вы можете легко изменить его с помощью обратного вызова. Вы можете найти более подробную информацию здесь Tooltip Callbacks

+0

, это даже решило, что scaleLabel не удалось Я попытался сделать то же самое, что показано на рисунке: http://jsfiddle.net/6xV78/294/, но поскольку это похоже на chartjs 1.0 вместо 2.0, я предполагаю, что все изменилось, но я мог просто использовать операторы If в обратном вызове и он работал нормально. – Myzifer

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