我使用过ChartEngine 这是我的折线图代码
XYSeriesRenderer xyRenderer = (XYSeriesRenderer) renderer.getSeriesRendererAt(0);
XYSeriesRenderer.FillOutsideLine fill; XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_BELOW);
fill.setColor(Color.MAGENTA);
xyRenderer.addFillOutsideLine(fill);
对于绿线下方的每个区域,折线图都应采用洋红色。然而,正如您所看到的,aChartengine 仅渲染第一个区域。 那么我错过了什么? 我还发现,当我移动图表(如图 2 所示)时,图表将仅渲染第一个区域。图3图表渲染了2个区域。 图 4 显示了下面代码的结果。
fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ALL);
fill.setColor(Color.MAGENTA);
xyRenderer.addFillOutsideLine(fill);
fill = new XYSeriesRenderer.FillOutsideLine(XYSeriesRenderer.FillOutsideLine.Type.BOUNDS_ABOVE);
fill.setColor(Color.GREEN);
xyRenderer.addFillOutsideLine(fill);
您可能应该使用
FillOutsideLine.Type.BOUNDS_ALL
而不是 FillOutsideLine.Type.BOUNDS_BELOW
。
我在 AchartEngine 的副本中添加了将 addFillOutsideLine() 的边界设置为地平线以外的其他内容的功能。 HMU 如果有人想帮助我的黑客产品化。