2016-07-03 6 views
0

이 질문은 이전 질문의 연속이다가 볼 수 있도록합니다 : 위해 줄을 선택하는 것을 설립되었습니다 그 질문에어떻게 코드의 열 시리즈 줄을 선택하고

How to select a Column series Bar in code

코드에서 델리게이트를 사용하고 현재 점에서 선택된 집합을 YES으로 설정해야합니다. 그렇다면 -reloadData & -redrawChart으로 연락해야합니다.

충분한 데이터 세트가있는 경우 기본 범위를 설정하여 각 막대의 너비가 너무 좁지 않도록하고 마지막 막대가 절반 이상인 것을 보여야합니다.

SChartRange *range = [[SChartNumberRange alloc] initWithMinimum:@(-0.5) andMaximum:@(8)]; 
[self.chartView.xAxis setDefaultRange:range]; 

값이 약간 이상하지만 최소값이 0이면 첫 번째 막대가 절반 만 표시됩니다. 그러나 이것은 9.5의 범위를 제공하는데 이는 괜찮아 보인다. 실제로 차트보기 너비와 각 막대 크기에 따라이 작업을 수행하고 있습니다. 약 40 점이 효과가있는 것 같습니다.

어쨌든 이제 (코드에서) 다음 포인트를 선택할 수있게되었으므로 이제 차트를 스크롤하여 선택한 막대가 표시되는지 확인해야 할 수도 있습니다. 또한 현재 볼 수 있다면 스크롤하지 않아도됩니다.

내가 전화하기 때문에 -reloadData & -redrawChart 차트의 범위를 업데이트 할 수 없다는 것을 기억하십시오. 기본 범위를 설정해야하는 것 같습니다.

나는 다음 범위의 바 인덱스가이 범위에 있고 새로운 범위를 계산 하는지를 확인하기 위해 현재 범위를 얻으려고 시도했다. 그러나 이것은 모든 경우에 나를 위해 작동하지 않는다. - 실제로 여기서 일어난 일은 기괴하다. 예 마지막 지점에 대해 범위를 7.5로 설정해야합니다. 다른 것과 마찬가지로 9.5가 아닙니다 ...

이렇게하는 것이 좋습니다. 차트에서 스크롤 인덱스가 보이는 메서드와 같은 메서드를 원했지만 아무 것도 찾을 수 없습니다.

답변

0

당신은 다음과 같은 것을 사용하여이를 달성 할 수있는 다음 defaultRange를 초래하고 당신을 위해 시각적으로 업데이트됩니다 다시 그리기 호출하지 않고 현재의 범위를 설정합니다

chart.xAxis?.setRange(SChartRange(minimum: 50, andMaximum: 70), withAnimation: false) 
chart.redrawChartIncludePlotArea(true) 

.

도움이 더 필요하면 응답이 더 빨라지므로 ShinobiControls 개발자 지원 포럼에 게시하는 것이 좋습니다.

종류와 관련,

매트

+0

덕분에, 결국 내가 컬렉션을보기 위해 차트를 교체하기로 결정했다. – Ants