jqPlot .replot()没有更新系列

时间:2011-10-12 03:54:07

标签: jquery charts jqplot

这个问题看起来很简单,我无法理解问题所在。

我有一个jqPlot折线图(“plot1”),包含一个系列和一个图例。我已经在页面上绑定了一个锚点的.click事件来调用以下函数:

function changeSeriesColor() {
    plot1.series[0].color = "#33ff66";
    plot1.replot();
}

事件触发并调用函数且没有错误。 LEGEND上的系列颜色更新为新颜色,但LINE颜色不变。 jqPlot文档没有太多关于这类事情的说法(我希望有更多,更多样化的例子),我无法在stackoverflow或任何其他解决这个问题的地方找到任何东西。

此行为在Chrome 12.0.742.112,Firefox 6.0.2和IE 9.0.8112.16421中保持一致,所以我很确定这不是一些奇怪的特定于浏览器的怪癖。

我对这个感到茫然。帮助?!

1 个答案:

答案 0 :(得分:1)

我迟到但是对于遇到这个问题的其他人来说,这可能有用吗? (来自https://bitbucket.org/cleonello/jqplot/issue/358/replot-ignoring-seriescolor

  

不幸的是,在绘图初始化后修改绘图选项没有   重新绘制/重绘的效果。这不是一个错误。使用这些选项   仅在初始化时设置渲染器的属性。更改   在初始化图之后它们没有效果。

     

您可以做的是更改渲染中的相关属性。   在您的情况下,这将是:

  this._jqChart.series[0].renderer.shapeRenderer.strokeStyle = colors[0];
  this._jqChart.series[0].markerRenderer.shapeRenderer.strokeStyle = colors[0];  // if markers not filled.
  this._jqChart.series[0].markerRenderer.shapeRenderer.fillStyle = colors[0];