我在Android中使用Graphview。在我的图表中,我正在显示带有一些自定义静态标签的条形图。
如果我没有手动调整Xbounds,则会显示静态标签,但它们不会放在条形图的中间。这些酒吧也没有适当的间距。
series.resetData(graphDataPoints.toArray(new GraphDataPoint[graphDataPoints.size()]));
StaticLabelsFormatter mLabelsFormatter = new StaticLabelsFormatter(graph);
mLabelsFormatter.setHorizontalLabels(horizontalLabels.toArray(new String[horizontalLabels.size()]));
mGridLabelRenderer.setLabelFormatter(mLabelsFormatter);
如果我手动调整Xbounds,那么条形图会很好地显示,但静态标签会失真。就我而言,一个标签不会出现。
series.resetData(graphDataPoints.toArray(new GraphDataPoint[graphDataPoints.size()]));
graph.getViewport().setXAxisBoundsManual(true);
graph.getViewport().setMinX(series.getLowestValueX() -0.5);
graph.getViewport().setMaxX(series.getHighestValueX() +0.5);
StaticLabelsFormatter mLabelsFormatter = new StaticLabelsFormatter(graph);
mLabelsFormatter.setHorizontalLabels(horizontalLabels.toArray(new String[horizontalLabels.size()]));
mGridLabelRenderer.setLabelFormatter(mLabelsFormatter);
请帮忙!
答案 0 :(得分:1)
在我的情况下,问题是我将DataPoints
创建为DataPoint(i+1,y)
,因此在水平方向上存在偏移。然后,将minX
放入0
,将maxX
放入NBRBARS+1
,这样您就可以看到所有条形。
为补偿标签,我必须在数组的每一侧添加一个" "
空间,即String labels[] = {" ", "label 1", "label 2", " "}
。