在jqPlot中添加新的数据系列和系列选项

时间:2014-01-26 22:30:47

标签: jqplot

我使用jqPlot在我的Web应用程序中创建图形。 最初,图表是空白的。

我的目标是允许用户从下拉列表中选择特定数据集。每个数据集都有不同的制造商渲染选项,这些选项来自我单独维护的查找文件。

当用户选择新数据集时,该数据集将与其他先前选定的数据集一起绘制到图表上。是否有可能通过jqPlot API动态实现这项工作?

这就是我所做的:

  1. 我将新数据集添加到myChart.datadata属性是图表中所有数据集的数组。

  2. 我从myChart.series[0]克隆一个新系列,使用我的特定标记渲染选项扩展克隆系列,并将克隆的系列添加到myChart.series

  3. 我重绘了图表。

  4. 显然它不起作用。我总是得到一个错误,如第3059行jquery.jqplot.js

    Uncaught TypeError: Cannot read property 'shadowCanvas' of undefined 
    

    通过源代码查看,我意识到jqPlot init函数也会对图的其他成员进行初始化,这就是我收到上述错误的原因。

    请帮忙。

    ============================================ 我通过直接访问jqplot中的数据和选项(而不是通过任何API)解决了这个问题。要在添加新数据系列时绘制图表,我会这样做:

    jQuery.jqplot(' ptGraph',chartData,chartOpts);

    chartData将包含旧系列数据和新系列数据,chartOpts将包含新旧数据系列选项。新选项必须包含自定义参数(如标记图标等)。没有涉及API,现在只是纯编码。

0 个答案:

没有答案