2013-10-10 20 views
1

Я хочу установить тип графика программно. Таким образом, вместо того, чтобы использовать, например, это в seriesDefaults: renderer:$.jqplot.BarRenderer, Я хочу использовать renderer:$.jqplot.graphtype, где graphtype был установлен в BarRenderer, LineRenderer и т.д. Но это не работает в любом формате, я использую graphtype (всегда по умолчанию по умолчанию линейный график). Совет по оценке этого значения оценили. спасибоJQPLOT- установка типа графика программно

ответ

0

Установка такого параметра renderer:$.jqplot.BarRenderer в ваших вариантах уже является программным способом его выполнения.

Предположительно, вы пытаетесь изменить это значение в зависимости от текстовой переменной (в отличие от ссылки на объект, такой как $.jqplot.BarRenderer).

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

var myDefaultOptions = { 
    seriesDefaults:{ 
     pointLabels: { show: true } 
    }, 
    axes: { 
     xaxis: { 
      renderer: $.jqplot.CategoryAxisRenderer, 
      ticks: ticks 
     } 
    }, 
    highlighter: { show: false } 
} 

// ... 

// Note: $.extend(true, ...) for a deep copy, if you're re-using this later. 
var myOptions = $.extend(true, {}, myDefaultOptions); 

if (graphType == 'bars') { 
    myOptions.seriesDefaults.renderer = $.jqplot.BarRenderer; 
} else if (graphType == '...') { 
    // Other renderer 
} 

var plot = $.jqplot('chart1', data, myOptions); 

Используя это может также дать вам возможность изменить другие параметры, которые могут сделать больше смысла в зависимости от типа графика (имеет ли смысл увеличить, блик, ...).

Если вы хотите сделать это для определенных серий, вы должны сначала создать пустые series: {} в своих настройках по умолчанию, это упростит настройку отдельных параметров (доступ к каждой серии с номером).

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