1

我正在为 LineChart 使用 Achartengine。我已经为 XYSeriesRenderer 对象添加了线条颜色。我从库中获取动态值来绘制图表。如果 x 值达到最大值,我需要更改折线图的颜色。我只使用一个系列。我试过了,但我做不到。有没有办法动态改变线条颜色?

4

2 回答 2

1
// Declaring and instantiating objects:
XYMultipleSeriesRenderer mTimeRenderer = new XYMultipleSeriesRenderer();
XYSeriesRenderer mCurrentRenderer = new XYSeriesRenderer();

// Defining XYRenderer properties
mCurrentRenderer.setColor(Color.CYAN);
// Associating XYRenderer to the XYMultipleSeriesRenderer
mTimeRenderer.addSeriesRenderer(mCurrentRenderer);

//{...}
// You could get your XYRenderer later on with:
mCurrentRenderer = mTimeRenderer.getSeriesRendererAt(0);

当然,您可以动态地重新绘制图表并随时更改渲染器属性。

解释:

XYSeriesRenderer对象用作XYRenderer容器。

您设置线条颜色的方式是使用该XYRenderer.setColor(int color)方法。

您可能会调用您当前的渲染器getSeriesRendererAt(int index)XYSeriesRenderer或者您可能已经有一个XYRenderer要与之交互的对象。

于 2014-02-26T22:14:57.027 回答
0

只需以这种方式更改颜色:

renderer.setColor(newColor);

然后重新绘制图表:

chartView.repaint();
于 2013-09-01T11:59:40.863 回答