Core-Plot Frage: Wie eine Datenanzeige hinzufügen
-
22-09-2019 - |
Frage
Ich möchte eine Datenanzeigelinie ähnlich dem folgenden Bild in Kern-Plot hinzuzufügen.
Plot Bild http://img203.imageshack.us/img203/9412/plota. png
Jede Idee, wie ich dies mit Kern-Plot erreichen kann. Ich habe gerade zu verstehen, Kernstück begonnen, so dass jede Spitze sehr nützlich sein wird.
Danke
Edit:
Zum besseren Verständnis ich einen Screen erstellt haben zu zeigen, was ich meine:
Hinzugefügt am 26. Februar:
Ich habe durch die Verwendung von zwei dataplots Teilproblem gelöst. hier ist die aktuelle Implementierung:
Ich habe zwei dataplots verwendet, ist die wichtigste und andere Plots nur ein Datenpunkt, der neu geladen wird, wenn Schieber Wert ändert.
Hier sind meine Datenquelle Methoden (kann jemand helfen):
-(NSUInteger)numberOfRecordsForPlot:(CPPlot *)plot {
if ([(NSString *)plot.identifier isEqualToString:@"Blue Plot"]){
return [dataForPlot count];
}else {
return 1;
}
}
-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
{
if ([(NSString *)plot.identifier isEqualToString:@"Green Plot"]) {
index = floor((double)[slider value]);
if (index > [dataForPlot count] -1) {
index = [dataForPlot count] -1;
}
NSLog(@"Green plot index : %f",index);
}
NSNumber *num = [[dataForPlot objectAtIndex:index] valueForKey:(fieldEnum == CPScatterPlotFieldX ? @"x" : @"y")];
num = [NSNumber numberWithDouble:[num doubleValue] + 1.0];
return num;
}
Jetzt nur Problem bleibt eine einfache Möglichkeit, um herauszufinden, die Linie zu zeichnen. Irgendwelche Ideen ??
Lösung
Es gibt wirklich keine direkte Möglichkeit, diese Art von Interaktion in Kern selbst zu tun noch Plot, obwohl es für eine zukünftige Aufnahme geplant ist.
Eine Möglichkeit, es zu tun wäre, einen eigenen UIView über den oberen Rand des Diagramms zu platzieren, und verwenden Sie diese Mausbewegungsereignisse zu erhalten.
Sie könnten dann ein paar Möglichkeiten haben für die rote Linie zeigt:
1) Hinzufügen einer zweiten y-Achse, und die Position es entsprechend den Mausereignisse
2) Fügen Sie eine Balkendiagramm mit genau einer Bar, die über den gesamten vertikalen Raum
erweitert3) Fügen Sie ein Streudiagramm, das zwei Punkte hat, einen an der Unterseite und einen an der Spitze.
Diese sind alle Hacks, aber sie sollten alle arbeiten.