使用Androidplot的负面条形图

时间:2012-07-23 11:34:56

标签: android bar-chart androidplot

我正在使用Androidplot库来绘制条形图以显示某些内容。 我的值范围是 -40到+40

如何在负面绘制条形图?我只是想将零点置于中间的y轴上,如果值为负值,则条形应该向上或向下增长。我的酒吧从下边缘向上增长。它应该如下所示: enter image description here

3 个答案:

答案 0 :(得分:1)

这对我有用:

  

plot.centerOnRangeOrigin(0);

     

plot.setRangeLowerBoundary(0,BoundaryMode.AUTO);

其中plot是XYPlot的实例。

答案 1 :(得分:1)

Androidplot 0.6.2 最近添加了负栏支持;你需要使用latest development version来获得它(它非常稳定)。

拥有正确版本的Androidplot后,您可以使用Maria Reina的建议来启用负值显示。以下是我在下面的屏幕截图中的操作方式:

plot.setUserRangeOrigin(0);
plot.setRangeBoundaries(0, BoundaryMode.AUTO, 0,BoundaryMode.AUTO);

enter image description here

注意:目前存在一个错误,如果您使用具有2个或更多系列的叠加模式并且具有负条,则负条的叠加顺序会反转,从而导致较小的负值bargroup被较大的那些遮挡。如果您的目标只是重现上面的图像,那么您应该没问题。

答案 2 :(得分:0)

这是一个很好的问题。我认为当前版本的AndroidPlot(0.6.0)没有办法用一系列值来做到这一点。 我在我的项目中创建了一个解决方法。我知道它并不完美,但它确实有效:创建两个重叠的系列,一个是绿色,一个是背景颜色。假设你有currentValue来绘制..

if (currentValue>=0) {
    greenRes[i] = Float.valueOf(currentValue);
    coverRes[i] = Float.valueOf(0);
}
else {
    greenRes[i] = Float.valueOf(0);
    coverRes[i] = Float.valueOf(currentValue);
}

通过这种方式,您始终可以从零轴开始并向上或向下移动绿色条。