我想以编程方式设置图形的类型。因此,而不是在 seriesDefaults 中使用,例如:
renderer:$.jqplot.BarRenderer,
我想使用renderer:$.jqplot.graphtype,
graphtype 已设置为 BarRenderer、LineRenderer 等的地方。但它不适用于我使用 graphtype 的任何格式(始终默认为默认线图)。对传递此值的建议表示赞赏。谢谢
问问题
228 次
1 回答
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: {}
在默认选项中创建一个空白,这样可以更轻松地在那里设置单个选项(使用数字访问每个系列)。
于 2013-10-10T19:59:24.550 回答