作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用MPAndroidChart我需要实时显示折线图。但问题是,它是在整个完成后才显示的。实际上它应该像实时一样绘制。我尝试的是,
private void updateUI(final ArrayList<TimeModel> pJsonObject) {
for(int i=0;i<pJsonObject.size();i++){
int speedRates = pJsonObject.get(i).getSpeedRate();
String time = String.valueOf(pJsonObject.get(i).getTotalTime());
xAxes.add(time);
//yAxes.add(new Entry(10, 0));
yAxes.add(new Entry(speedRates,i));
}
String[] xaxes = new String[xAxes.size()];
for (int i = 0; i < xAxes.size(); i++) {
xaxes[i] = xAxes.get(i).toString();
}
LineDataSet lineDataSet = new LineDataSet(yAxes, "Time");
lineDataSet.setDrawCircles(true);
lineDataSet.setColor(Color.GREEN);
lineDataSets.add(lineDataSet);
linechart.setData(new LineData(xaxes, lineDataSets));
linechart.setVisibleXRangeMaximum(65f);
// linechart.setTouchEnabled(true);
// linechart.setDragEnabled(true);
linechart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
linechart.getAxisLeft().setDrawGridLines(false);
linechart.getXAxis().setDrawGridLines(false);
YAxis yAxisRight = linechart.getAxisRight();
yAxisRight.setEnabled(false);
linechart.animateXY(3000, 3000);
}
但这是已完成的绘图。我需要在 mpandroid 图表中实时绘制。
最佳答案
这是代码。它启动线程,然后在循环中向图表添加条目(在本例中为 500 个点),每次添加后,线程 hibernate 1000 毫秒(1 秒),这是您的间隔:
new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i < 500; i++) {
runOnUiThread(new Runnable() {
@Override
public void run() {
addEntry();
}
});
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
}).start();
对于每个点间隔 1 秒的动画,请使用此
mChart.animateX(1000 * pointCount);
例如,就您而言:
mChart.animateX(1000 * xAxes.size());
关于java - 如何在mpandroidchart中实时显示图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50582455/
我是一名优秀的程序员,十分优秀!