Я использую гистограмму диаграмм ios и пытаюсь выделить одну полосу, не нажимая на конкретную полосу. Если я изменяю значение с ползунка (если значение ползунка приближается к 50), тогда полоса, содержащая значение (50), должна быть выделена без нажатия на полосу с использованием ios-диаграмм
Как выделить полосу в гистограмме из пользовательского метода с помощью диаграмм ios?
Ответы (2)
iOS-Charts
api идентичен библиотеке Android MPAndroidChart
. Так что вы можете обратиться к документации MPAndroidChart
. На этой странице можно увидеть, что есть пара доступные методы для программного выбора:
Выделение программным способом
highlightValues(Highlight[] highs)
: выделяет значения по указанным индексам в данных DataSets. Предоставьте null или пустой массив, чтобы отменить все выделение.
highlightValue(int xIndex, int dataSetIndex)
: выделяет значение по заданному x-индексу в заданном DataSet. Укажите -1 в качестве x-индекса или dataSetIndex, чтобы отменить все выделение.
getHighlighted()
: возвращает массив Highlight [], который содержит информацию обо всех выделенных записях, их индексах x и индексах набора данных.
поэтому в событии sliderValueChanged вы можете вызвать что-то вроде этого:
[_chartView highlightValueWithXIndex:2 dataSetIndex:0 callDelegate:NO];
Для одного и нескольких значений:
chartHighlight = [[ChartHighlight alloc] initWithXIndex:highlightIndex.item dataSetIndex:0];
[_chartView highlightValues:@[chartHighlight]];