MPChart Android клон диаграммы с множеством наборов данных y значение - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть функция, которая постоянно сообщает об изменениях какого-либо вида данных (каждые 1 с). Обратный вызов срабатывает только в случае изменения данных. Поэтому, если данные изменяются - обратный вызов запускается с новым значением для обновления соответствующего набора данных на диаграмме.

Например: у меня есть 3 набора данных. Набор данных 1 обновлен, запись добавлена. Но для других наборов данных (2 и 3) следует добавить запись со старым значением.

Как я могу этого достичь? Спасибо

Текущий код для добавления записи и увеличения других наборов данных.

screenshot

private fun addEntry(newValue: Float, label: String) {
    val data = chart.data

    if (data != null) {
        var set = data.getDataSetByLabel(label, false)
        if (set == null) {
            set = createSet(label)
            data.addDataSet(set)
        }
        set.addEntry(Entry(set.entryCount.toFloat(), newValue))

        data.dataSets.forEach {
            if (it.label != label) {
                if (it.entryCount >= data.entryCount) {
                    return@forEach
                }
                val entry = it.getEntryForIndex(it.entryCount - 1)
                if (entry != null) {
                    it.addEntry(Entry(entry.x + 1, entry.y))
                }
            }
        }

        data.notifyDataChanged()
        chart.notifyDataSetChanged()
        chart.setVisibleXRangeMaximum(10f)
        chart.moveViewToX(data.entryCount.toFloat())
    }

}
...