我正在使用Androidplot
库来绘制条形图以显示某些内容。
我的值范围是 -40到+40 。
如何在负面绘制条形图?我只是想将零点置于中间的y轴上,如果值为负值,则条形应该向上或向下增长。我的酒吧从下边缘向上增长。它应该如下所示:
答案 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);
注意:目前存在一个错误,如果您使用具有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);
}
通过这种方式,您始终可以从零轴开始并向上或向下移动绿色条。