我正在使用android achartengine库来绘制葡萄糖读数的图表 . Y轴有读数和X轴日期/时间 . 我需要为每天,早上,中午和晚上绘制3个读数 . 但是所有的病人都不会拿三个读数 . 他们也许有些日子不会读书 . 所以在那些相应的日子里,不应该显示数值 . 经过搜索,我发现它有可能
XYSeries(“餐前”) . 添加(值,MathHelper.NULL_VALUE)
所以尝试使用这样的虚拟数据 .
public XYMultipleSeriesDataset getDemoDataset(){
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYSeries series = new XYSeries("Pre-meal ");
series.add(1, MathHelper.NULL_VALUE);
series2.add(2, MathHelper.NULL_VALUE);
for (int j = 3; j < 10; j++) {
if((j%2)==0){
series.add(j, j*5);
series2.add(j, j*10);
}
else {
series.add(j, MathHelper.NULL_VALUE);
series2.add(j, MathHelper.NULL_VALUE);
}
j=j+1;
series.add(j, 20);
series2.add(j, 30);
j=j+1;
series.add(j, 60);
series2.add(j, 130);
dataset.addSeries(series);
dataset.addSeries(series2);
return dataset;
}
}
private XYMultipleSeriesRenderer getDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setPointSize(5f);
renderer.setMargins(new int[] {20, 30, 15, 0});
renderer.setYAxisMax(100);
XYSeriesRenderer r = new XYSeriesRenderer();
r.setColor(Color.YELLOW);
r.setPointStyle(PointStyle.SQUARE);
r.setFillBelowLineColor(Color.WHITE);
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
r = new XYSeriesRenderer();
r.setPointStyle(PointStyle.CIRCLE);
r.setColor(Color.GREEN);
r.setFillPoints(true);
renderer.addSeriesRenderer(r);
renderer.setAxesColor(Color.DKGRAY);
renderer.setLabelsColor(Color.LTGRAY);
return renderer;
}
我按如下方式调用chartEngine意图
intent = ChartFactory.getLineChartIntent(this, Postmeal.getDemoDataset(),getDemoRenderer());
startActivity(intent);
但图表绘制了一些不正确的值 .
注意:当我使用series.add(1,0)时,它工作正常;而不是series.add(1,MathHelper.NULL_VALUE); !还有类SensorValuesChart()在同一设备中绘制空值!
有人请帮帮我!