如何在代码中 select 一个 Column series Bar
How to select a Column series Bar in code
我有一个条形图,我可以通过点击它们来 select 个条形图。
在我的 ShinobiChart
数据源的 -sChart:seriesAtIndex:
中,我实现了:
SChartColumnSeries *series = [[SChartColumnSeries alloc] init];
series.detectTapsOutsideBar = YES;
series.selectionMode = SChartSelectionPoint;
效果很好。我现在想做的是能够 select 基于其背后数据索引的特定柱。你怎么做到这一点?我查看了图表和系列,但找不到 select 列的任何方法。
另外加分 :) 我需要确保至少有一列总是 selected.
更新:
我尝试添加以下代码:
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
,然后在数据源中设置了 selected。这是有效的。
免责声明我是 ShinobiControls 的开发人员。
我们最近更改了我们的数据点 selection API,这将在我们的下一个版本中出现,以使这一点更清楚。
目前,您必须通过 "dataSeries.dataPoints" 数组遍历系列的数据点。然后将您从数组中提取的点从类型 id 转换为 SChartDataPoint 并在该点上设置 selected 属性。
或者,如果您想在图表最初绘制时 select 一个数据点,您可以只设置 selected 属性 您 return 的 SChartDataPoint 对象在 SChartDatasource 方法中 "dataPointAtIndex:".
要确保一次只 selected 一个点,您可以将 "togglePointSelection" BOOL 属性 设置为 NO。将此 属性 设置为 YES 意味着您可以一次 select 多个点。
我有一个条形图,我可以通过点击它们来 select 个条形图。
在我的 ShinobiChart
数据源的 -sChart:seriesAtIndex:
中,我实现了:
SChartColumnSeries *series = [[SChartColumnSeries alloc] init];
series.detectTapsOutsideBar = YES;
series.selectionMode = SChartSelectionPoint;
效果很好。我现在想做的是能够 select 基于其背后数据索引的特定柱。你怎么做到这一点?我查看了图表和系列,但找不到 select 列的任何方法。
另外加分 :) 我需要确保至少有一列总是 selected.
更新:
我尝试添加以下代码:
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
,然后在数据源中设置了 selected。这是有效的。
免责声明我是 ShinobiControls 的开发人员。
我们最近更改了我们的数据点 selection API,这将在我们的下一个版本中出现,以使这一点更清楚。
目前,您必须通过 "dataSeries.dataPoints" 数组遍历系列的数据点。然后将您从数组中提取的点从类型 id 转换为 SChartDataPoint 并在该点上设置 selected 属性。
或者,如果您想在图表最初绘制时 select 一个数据点,您可以只设置 selected 属性 您 return 的 SChartDataPoint 对象在 SChartDatasource 方法中 "dataPointAtIndex:".
要确保一次只 selected 一个点,您可以将 "togglePointSelection" BOOL 属性 设置为 NO。将此 属性 设置为 YES 意味着您可以一次 select 多个点。