2

我怎样才能让我的 GraphView 总是从零开始,而不是从我的数据的最低数量开始?例如,如果我收到的数据是{10,44,1,15},则底部的数据将是1并且我想为零。我怎样才能做到这一点 ?

我怎样才能使GraphViewSeries动态?例如,我收到一个包含数据的数组,我希望根据数组的大小来制作GraphViewSeries,就像我收到一个包含 3 个元素的数组GraphViewSeries一样:

GraphViewSeries exampleSeries = new GraphViewSeries(
                new GraphViewData[] { 
                        new GraphViewData(1, total[0]),
                        new GraphViewData(2, total[1]),
                        new GraphViewData(3, total[2])});

如果数组有 5 个元素,则如下所示:

GraphViewSeries exampleSeries = new GraphViewSeries(
                new GraphViewData[] { 
                        new GraphViewData(1, total[0]),
                        new GraphViewData(2, total[1]),
                        new GraphViewData(3, total[2]),
                        new GraphViewData(4, total[3]),
                        new GraphViewData(5, total[4]) });

我怎样才能做到这一点 ?

4

2 回答 2

5

您可以像这样设置最小值和最大值:

GraphView graphView = new LineGraphView(context, "Graph name")
graphView.setManualYAxisBounds((double) max, (double) min);

对于动态系列,您可以这样做:

GraphViewData[] data = new GraphViewData[total.length];
for (int a = 0; a < total.length; a++) {
    data[a] = new GraphView.GraphViewData(a, total[a]);
}

然后您将数据添加到这样的系列中:

GraphViewSeriesStyle style = new GraphViewSeriesStyle(Color.rgb(150, 150, 150), 2);
GraphViewSeries series = new GraphViewSeries(driverName.substring(0, 3).toUpperCase(), style, data);

官方文档参考这里

于 2014-06-20T15:26:20.493 回答
5

在 GraphView 4.x 中,必须通过视口设置轴的最小值和最大值:

graphView.getViewport().setYAxisBoundsManual(true);
graphView.getViewport().setMinY(min);
graphView.getViewport().setMaxY(max);

“graphView.setManualYAxisBounds()”不再存在。

另见http://www.android-graphview.org/documentation/migration-from-31-to-40

于 2015-09-08T13:01:19.360 回答