Android Graphview使用日期和小数作为轴

时间:2015-11-15 15:38:12

标签: java android android-graphview

基本上我需要使用Graphview Api(http://www.android-graphview.org/documentation/line-graph-series-in-detail#comments) 从我的高分榜中绘制一些数据。

到目前为止,我可以创建一个包含硬编码数据的折线图,如下所示:

        GraphView graph = (GraphView) findViewById(R.id.graph);
    LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(new DataPoint[] {
            // date then score
            new DataPoint(0, 1),
            new DataPoint(1, 5),
            new DataPoint(2, 3),
            new DataPoint(3, 2),
            new DataPoint(2, 2)
    });
    graph.addSeries(series);

但是我的数据存储在2个arraylists中

    final ArrayList<Date>date = new ArrayList<Date>();
    final ArrayList<BigDecimal> score= new ArrayList<BigDecimal>();

我想绘制图表,使用日期作为横轴,将分数作为垂直。

我之前从未使用过graphview,而且我正在努力掌握如何有效地使用它。

任何帮助都会很棒 感谢

1 个答案:

答案 0 :(得分:0)

这是我项目的一个例子

        DataPoint[] volumeDataPoints = new DataPoint[graphDots.size()];
        int i = 0 ;
        for(MainGraphDot gd :  graphDots){
            volumeDataPoints[i] = new DataPoint(gd.getDate(),gd.getV());
            i++;
        }

当然,您必须首先转换数据源,如下所示:

|

DataPoint是graphView的可接受数组类型。您可以直接将Date对象设置为X值,BigDecimal值是Y值。

注意:DateAsXAxisLabelFormatter也可以将DateFormat作为其构造函数的第二个参数,以便您可以更改日期值的格式。

http://jjoe64.github.io/GraphView/javadoc/com/jjoe64/graphview/helper/DateAsXAxisLabelFormatter.html