这个问题看起来很简单,我无法理解问题所在。
我有一个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中保持一致,所以我很确定这不是一些奇怪的特定于浏览器的怪癖。
我对这个感到茫然。帮助?!
答案 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];