所以我使用android-graphview (https://github.com/jjoe64/GraphView)。
在从源获取数据时,我正试图弄清楚如何以编程方式将DataPoints逐个添加到该系列中。
目前医生说要做的是:
LineGraphSeries<DataPoint> series2 = new LineGraphSeries<>(new DataPoint[] {
new DataPoint(0, 4),
new DataPoint(1, 5),
new DataPoint(2, 2),
new DataPoint(3, 1),
new DataPoint(4, 10)
});但我希望能够动态添加/创建,因为我的for循环获得了这些数据点。
有什么建议吗?
发布于 2016-12-08 15:07:09
最简单的方法是将数据追加到已有的序列中,该序列已添加到图形中。
GraphView graph = (GraphView) findViewById(R.id.gv);
LineGraphSeries<DataPoint> lineGraphSeries = new LineGraphSeries<>();
graph.addSeries(lineGraphSeries);
DataPoint dataPoint = sth...
lineGraphSeries.appendData(dataPoint);发布于 2016-11-30 03:55:41
public class AddSeriesAtRuntime extends BaseExample {
private Activity mActivity;
@Override
public void onCreate(FullscreenActivity activity) {
mActivity = activity;
GraphView graph = (GraphView) activity.findViewById(R.id.graph);
initGraph(graph);
}
@Override
public void initGraph(final GraphView graph) {
Button btn = (Button) mActivity.findViewById(R.id.btnAddSeries);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
graph.addSeries(new LineGraphSeries(generateData()));
}
});
btn = (Button) mActivity.findViewById(R.id.btnClear);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
graph.removeAllSeries();
}
});
}
private DataPoint[] generateData() {
Random rand = new Random();
int count = 30;
DataPoint[] values = new DataPoint[count];
for (int i=0; i<count; i++) {
double x = i;
double f = rand.nextDouble()*0.15+0.3;
double y = Math.sin(i*f+2) + rand.nextDouble()*0.3;
DataPoint v = new DataPoint(x, y);
values[i] = v;
}
return values;
}
}https://stackoverflow.com/questions/40873017
复制相似问题