mpandroidchart, не рисуйте линию, если в течение определенного периода времени нет данных - PullRequest
0 голосов
/ 07 ноября 2019

mpandroidchart, я читаю данные из инструмента каждую секунду и хорошо рисую эти данные, но когда я выключаю инструмент пару минут и снова включаю инструмент,диаграмма рисует последовательную линию вместо того, чтобы оставить пробел перед тем, как снова начать рисовать значения. Как это сделать с помощью этой библиотеки? Я хотел бы иметь что-то вроде второго изображения

Ответы [ 2 ]

0 голосов
/ 13 ноября 2019

Мне наконец-то удалось нарисовать линию Data Set, как мне было нужно, эта библиотека потрясающая, в ней есть множество функций.

Я видел это видео https://www.youtube.com/watch?v=mA3-cz8EGWo, а потом понял, что могуизмените цвет линии между двумя точками, используя .setColor (список цветов), поэтому я использовал карту с ключом = индекс набора данных и значением = массив цветов для этого набора данных, а затем я просто изменил на прозрачный цвет, где мне нужно

 Map<Integer, List<Integer>> colorsByDataSet = new HashMap<>();

сохраняйте цвет каждый раз при создании записи

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));

это окончательный результат

enter image description here

если вы знаете о лучшем способе, я открыт, чтобы услышать

0 голосов
/ 08 ноября 2019

Я думаю, что вы не можете сделать это, все, что вы можете сделать, это когда вы остановите данные, вы можете вставить несколько записей со значением 0 на оси Y, и когда диаграмма возобновления снова начнет отображать значения, но вы можете увидеть две строки из последнегозначение до нуля и от 0 до следующего полученного значения.

...