JQPLOT-以编程方式设置图表类型

时间:2013-10-10 15:47:59

标签: jqplot

我想设置图形的类型。 所以,而不是使用,例如,在seriesDefaults中: renderer:$.jqplot.BarRenderer, 我想使用renderer:$.jqplot.graphtype,,其中graphtype已设置为BarRenderer,LineRenderer等。 但它不能用于我使用graphtype的任何格式(总是默认为默认线图)。关于传递这个价值的建议表示赞赏。 感谢

1 个答案:

答案 0 :(得分: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: {},这样可以更轻松地在其中设置单个选项(使用数字访问每个系列)。