Coreplot (1.2)의 최신 버전으로 업그레이드하여 문제가 생겼습니다.Coreplot이 ScatterPLot 위치에 있습니다.
내 그래프의 내부에 두 개의 그림이 있습니다. 막대 그래프와 산점도. 산점도는 연결된 막대의 선 표시입니다. 버전 1.1에서는 모두 잘 돌아 갔지만 1.2로 바꿨을 때, Scatter plot은 잘못 배치 된 것처럼 보였습니다. 조금 왼쪽부터 시작하는 것은 유감입니다. 여기에 이미지 :
그 plotsymbols 전체 산점도 (즉, 심볼이 밖에서의의 freen 바의 중앙에 없었다 및 기호가 있었다 오른쪽 막대 그래프와 동기화했다 눈금 선)을 가져야합니다. numberForPlot
에서 반환되는 포인트는 동일한 값입니다.
그리고 여기 내 numberForPlot
방법 단지 경우입니다 :
- (NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)idx
{
if ([plot.identifier isEqual:kBarPlot])
{
if (fieldEnum == CPTBarPlotFieldBarLocation)
return [NSNumber numberWithInt:[self.intervalStringArray indexOfObject:[allKeys objectAtIndex:idx]]];
NSArray *activitiesForDate = [activitiesByDate valueForKey:[allKeys objectAtIndex:idx]];
double activityAmount = 0.0;
if (activitiesForDate)
{
//compute value
}
DebugLog(@"Barplot returning Y= %f forindex = %d", activityAmount, idx);
return [NSNumber numberWithDouble:activityAmount];
}
if ([plot.identifier isEqual:kScatterPlot])
{
NSString *currentDate = [[self activityDatesAsString] objectAtIndex:idx];
if (fieldEnum == CPTScatterPlotFieldX)
{
int currentIndex = [self.intervalStringArray indexOfObject:currentDate];
return [NSNumber numberWithInt:currentIndex];
}
NSArray *activitiesForDate = [self activitiesForDate:[self.dateFormatter dateFromString:currentDate]];
float netActivity = 0.0;
//compute netActvity
DebugLog(@"SCATTERPLOT returning %@ for index %d", [NSNumber numberWithFloat:netActivity], idx);
return [NSNumber numberWithFloat:netActivity];
}
return nil;
}
마지막으로, 로그 출력은;
SCATTERPLOT returning -8 for index 0
SCATTERPLOT returning -4 for index 1
Barplot returning Y= -8.000000 for index = 0
Barplot returning Y= -4.000000 for index = 1
편집 : 나는 거의 산포도 그래프에서 혼자있을 때조차 지속 문제를 여기에 코드를 게시 완료했다 동안. 나는이 문제를 발견했다. 그러나 그것이 정상적인 것인지, 아니면 버그인지는 모른다. 문제는 CPTMutableShadow
에있다 : 나는 그림자를 제거하면
CPTScatterPlot *netActivityPlot = [[[CPTScatterPlot alloc] init] autorelease];
netActivityPlot.identifier = kNetActivityPlot;
netActivityPlot.title = @"Net Activity";
CPTMutableLineStyle *lineStyle = [[netActivityPlot.dataLineStyle mutableCopy] autorelease];
lineStyle.lineWidth = 2.0;
lineStyle.lineColor = _cptNetActivityLineColor;
netActivityPlot.dataLineStyle = lineStyle;
netActivityPlot.dataSource = self;
CPTMutableShadow *shadow = [CPTMutableShadow shadow];
shadow.shadowColor = [CPTColor lightGrayColor];
shadow.shadowOffset = CGSizeMake(2.0, -2.0);
shadow.shadowBlurRadius = 4.0f;
netActivityPlot.shadow = shadow;
[activityGraph addPlot:netActivityPlot];
netActivityPlot.plotSpace = (CPTXYPlotSpace *)activityGraph.defaultPlotSpace;
가, 플롯이 라인에 적합합니다.
iOS 또는 Mac OS X에 있나요? 어떤 버전입니까? 창 크기를 조정하거나 장치를 회전하거나 그래프를 스크롤하면 어떻게됩니까? –
iPad에 있습니다. 회전/스크롤/크기 조정에 대한 변경 사항은 없습니다. 내가 그것을 찾을 수 없을지라도 빠른 수정이 있기를 바랍니다. –
게시 한 코드에 아무 것도 표시되지 않습니다. 두 플롯의 설치 코드를 게시 할 수 있습니까? 플롯이 플롯 공간을 공유합니까? 아니면 둘 이상입니까? –