基本上我需要使用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,而且我正在努力掌握如何有效地使用它。
任何帮助都会很棒 感谢
答案 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