2016-07-06 4 views
0

Вот мой jsfiddle, объясняющий проблему, с которой я столкнулся. Я хочу, чтобы в основном передать параметры объект (отключить заливку и кривые Безье), как я мог бы сделать в более старых версиях ...Передача глобальных опций в линию Диаграмма в 2.1.6/Chart.js

https://jsfiddle.net/xjdvngwe/

В основном я хочу достичь пропусканием вариантов функции диаграммы в момент создания диаграммы

var options = { fill:false,tension:0, lineTension :0.1}; 
var chart_testChart = new Chart.Line(ctx, 
    { 
     data: data, 
     options: options 
    }); 

И в последней версии 2.1.6, я не могу получить эту работу

Если я прохожу их, как это, они прекрасно работают, но я ищу на пути к передать их в качестве объекта опции

var data = { 
labels: ["January", "February", "March", "April", "May", "June", "July"], 
datasets: [ 
    { 
     label: "My First dataset", 
     fill: false, 
     lineTension: 0.1, 

ответ

0

Это потому, что вы не поняли, как построена диаграмма:

Вы предположили, что fill и tension атрибуты были как непосредственно в корневом каталоге вариантов, но они на самом деле в options.element.line ,

Для получения дополнительной информации, проверьте Chart.js документ о element configuration (свитка до конфигурации линии в вашем случае).


Но будьте осторожны! Не перепутайте:

  • Редактирование одного элемента (, как вам удалось сделать во второй части вашего вопроса) путем редактирования набора данных, который вы передаете данные диаграммы:

    datasets: [ 
    { 
        label: "My First dataset", 
        fill: false, 
        lineTension: 0.1, 
        // ... 
    }] 
    
  • редактирование все элементы одного и того же типа (здесь, линия диаграммы) путем редактирования параметров диаграммы:

    var options = { elements: { line: { /*options */ } } }; 
    

    Как указано в documentation я дал выше:

    Параметры могут быть настроены для четырех различных типов элементов; дуги, линий, точек и прямоугольников. При установке эти параметры применяются ко всем объектам этого типа, если только они не переопределены конфигурацией, прикрепленной к набору данных.

поэтому убедитесь, что вы на самом деле хотите редактировать все диаграммы строки перед редактированием этих атрибутов непосредственно в настройках.


Теперь, если вы все еще хотите изменить в настройках, вы должны создать свой options вар, как это:

var options = { elements: { line: { fill: false, tension: 0.1 } } }; 
var chart_testChart = new Chart.Line(ctx, 
{ 
    data: data, 
    options: options 
}); 

Вот working fiddle, если вы хотите, чтобы увидеть результат.

+1

Спасибо за подробное объяснение !!! Я не смог легко сделать это, посмотрев на существующие документы. –

+0

@PuneetGupta В документах много информации, но иногда бывает сложно найти то, что вы ищете. Рад, что это помогло :) – tektiv