如何在代码中select列系列栏
我有一个条形图工作,我可以通过点击他们select酒吧。
在我的ShinobiChart
数据源的-sChart:seriesAtIndex:
我已经实现了:
SChartColumnSeries *series = [[SChartColumnSeries alloc] init]; series.detectTapsOutsideBar = YES; series.selectionMode = SChartSelectionPoint;
哪个工作正常。 我现在想要做的是能够根据它背后的数据索引来select一个特定的栏。 你怎么做到这一点? 我已经看了图表,系列却找不到任何方法来select一列。
也为额外的点:)我需要确保至less有一列总是被选中。
更新:
我试着添加下面的代码:
for (int index = 0; index < self.chartView.series[0].dataSeries.dataPoints.count; index++) { SChartDataPoint *point = (SChartDataPoint *)self.chartView.series[0].dataSeries.dataPoints[index]; if (lapIndex == index) { point.selected = YES; } else { point.selected = NO; } }
似乎没有任何效果。 我也试图重绘图表。
最后,我删除了该代码,并在图表上调用了-reloadData
和-redrawChart
,然后在数据源中将其设置为选中状态。 这是工作。
免责声明我是ShinobiControls的开发人员。
最近我们改变了我们的数据点selectAPI,这个API将在我们的下一个版本中出现,以使这个更清晰一些。
目前,您必须通过“dataSeries.dataPoints”数组遍历系列的数据点。 然后将您从typesid拉下数组的点转换为SChartDataPoint,并在该点上设置所选属性。
或者,如果要在图表初始绘制时select数据点,则可以将SChartDatasource方法“dataPointAtIndex:”中所设置的SChartDataPoint对象的选定属性设置为。
要确保一次只select一个点,可以将“togglePointSelection”BOOL属性设置为NO。 将此属性设置为YES意味着您可以一次select多个点。