mpandroidchart,don';当一段时间内没有数据时,不要画线

mpandroidchart,don';当一段时间内没有数据时,不要画线,mpandroidchart,Mpandroidchart,mpandroidchart,我每秒都在从一个工具读取数据,并且我正在很好地绘制数据,但是当我关闭工具几分钟,然后再次打开工具时,图表会绘制一条连续的线,而不是在再次开始绘制值之前留下一个空间,我如何使用这个库来做到这一点? 我想要第二张图像,我想你做不到,你所能做的就是停止数据,你可以在y轴上插入几个值为0的条目,恢复图表将再次开始绘制值,但你可以看到从上一个值到0,从0到下一个值的两条线。我终于开始绘制了我需要的行数据集, 这个库非常棒,它有很多功能 我看了这个视频,然后我意识到 我可以使用

mpandroidchart,我每秒都在从一个工具读取数据,并且我正在很好地绘制数据,但是当我关闭工具几分钟,然后再次打开工具时,图表会绘制一条连续的线,而不是在再次开始绘制值之前留下一个空间,我如何使用这个库来做到这一点?
我想要第二张图像,我想你做不到,你所能做的就是停止数据,你可以在y轴上插入几个值为0的条目,恢复图表将再次开始绘制值,但你可以看到从上一个值到0,从0到下一个值的两条线。

我终于开始绘制了我需要的行数据集, 这个库非常棒,它有很多功能

我看了这个视频,然后我意识到 我可以使用.setColor(列表颜色)来更改两点之间的线颜色,因此我使用了一个key=data set Index和value=array of colors的贴图来创建数据集,然后在需要的地方更改为透明颜色

 Map<Integer, List<Integer>> colorsByDataSet = new HashMap<>();
Map colorsByDataSet=newhashmap();
每次创建条目时保存颜色

addNewEntry(x,y,color,1); //1 = dataset1 
if (colorsByDataSet.containsKey(1)) {
      List<Integer> colors = colorsByDataSet.get(1);
      colors.add(color);
      colorsByDataSet.put(1, colors);
} else {
      List<Integer> colors = new ArrayList<>();
      colors.add(color);
      colorsByDataSet.put(1, colors);
}


 //identify the position where you need to change the color and then update the List<Integer> 

   List<Integer> colors = colorsByDataSet.get(1);

  colors.set(colors.size() - 1, Color.TRANSPARENT);
  colorsByDataSet.put(i, colors);

  //set the new colors 
 ((LineDataSet) set).setColors(colorsByDataSet.get(1));
addNewEntry(x,y,color,1)//1=数据集1
if(colorsByDataSet.containsKey(1)){
List colors=colorsByDataSet.get(1);
颜色。添加(颜色);
colorsByDataSet.put(1,颜色);
}否则{
列表颜色=新的ArrayList();
颜色。添加(颜色);
colorsByDataSet.put(1,颜色);
}
//确定需要更改颜色的位置,然后更新列表
List colors=colorsByDataSet.get(1);
colors.set(colors.size()-1,Color.TRANSPARENT);
colorsByDataSet.put(i,颜色);
//设置新颜色
((LineDataSet)set).setColor(colorsByDataSet.get(1));
这就是最终结果


如果你知道一个更好的方法,我愿意听

嘿,是的,我已经试过了,但看起来不太好。好消息是,我通过对每个lineDataSet使用:.setcolor()获得了想要的结果。我不知道我们可以在两个点之间设置颜色。是的,这是一件好事,你可以设置它为透明和繁荣。