【问题标题】:Android Graphview Using Dates and Decimals as axisAndroid Graphview 使用日期和小数作为轴
【发布时间】:2015-11-15 15:38:12
【问题描述】:

基本上我需要使用 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 个数组列表中

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

我想以日期为横轴,分数为纵轴来绘制图表。

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

任何帮助都会很棒 谢谢

【问题讨论】:

    标签: java android android-graphview


    【解决方案1】:

    这是我项目中的一个例子

    barGraph.getGridLabelRenderer().setLabelFormatter(new DateAsXAxisLabelFormatter(context));
    

    当然你得先转换你的数据源,如下:

            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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 2019-01-27
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多