Ich benutze IOS Charts, um ein horizontales Balkendiagramm mit 2 y-Werten zu zeichnen. Ich habe eine Anforderung, '%' Symbol zu beiden y-Werten neben den Balken und sogar auf der Y-Achse (RightAxis) hinzuzufügen. Wie geht das ? Hier ist mein Graphenbild [Horizontales Balkendiagramm, das ich gezeichnet habe] [1] Und ich zeichne dieses Diagramm unter Verwendung von Ziel-C, aber unter Verwendung des Swift-Frameworks. Hier ist der Link für die Charts Ich verwende https://github.com/danielgindi/ChartsWie fügt man% zu Y-Achsenwerten/Beschriftungen in ios-Diagrammen hinzu?
ich diese unteren Zeilen zu meinem Code hinzugefügt, wie creativ beraten
NSNumberFormatter *formater = [[NSNumberFormatter alloc] init];
formater.numberStyle = NSNumberFormatterPercentStyle;
_graphContainerView.rightAxis.valueFormatter = formater;
Aber das Problem ist, ich bin immer Werte neben jedem Balken als Dezimalstellen wie in Bild unten gezeigt, aber ich möchte, dass sie auch in Prozentwerte hier ist mein Code
- (void) setDataForXAxis: (NSMutableArray *) xVals benchMarkValues: (NSMutableArray *) benchMarkVals percentageValues: (NSMutableArray *) percentVals This image is after adding the below code {
NSMutableArray *yVals1 = [[NSMutableArray alloc] init];
NSMutableArray *yVals2 = [[NSMutableArray alloc] init];
for (int i = 0; i < xVals.count; i++)
{
NSNumber *val = [benchMarkVals objectAtIndex:i];
[yVals1 addObject:[[BarChartDataEntry alloc] initWithValue:val.doubleValue/100 xIndex:i]];
val = [percentVals objectAtIndex:i];
[yVals2 addObject:[[BarChartDataEntry alloc] initWithValue:val.doubleValue/100 xIndex:i]];
}
BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithYVals:yVals1 label:@"Sectoral \nBreakdown(Benchmark)"];
[set1 setColor:[UIColor colorWithRed:236/255.f green:205/255.f blue:118/255.f alpha:1.f]];
BarChartDataSet *set2 = [[BarChartDataSet alloc] initWithYVals:yVals2 label:@"Sectoral \nBreakdown(%)"];
[set2 setColor:[UIColor colorWithRed:31/255.f green:125/255.f blue:184/255.f alpha:1.f]];
set2.barSpace = set1.barSpace = 0;
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:set1];
[dataSets addObject:set2];
BarChartData *data = [[BarChartData alloc] initWithXVals:xVals dataSets:dataSets];
data.groupSpace = 1.1;
[data setValueFont:[UIFont fontWithName:kUTLightFontName size:6.f]];
_graphContainerView.data = data;
}
Vielen Dank, es funktioniert. Aber das Problem ist, dass ich den% -Wert für die Werte zeigen muss, die ich auf der rechten Seite der Leiste zeige. Ich habe diesen Formatierer verwendet und Werte wie diesen übergeben NSNumberFormatter * formater = [[NSNumberFormatter alloc] init]; formater.numberStyle = NSNumberFormatterPercentStyle; _graphContainerView.rightAxis.valueFormatter = Formatierer; –
Sir ich änderte meine Frage und fügte mein Ergebnis hinzu. Also bitte lassen Sie mich wissen, wie Sie dieses Problem behandeln –
Noch kann es nicht testen, aber es sollte wahrscheinlich funktionieren, wenn Sie die ValueFormatter des DataSet (in Ihrem Fall set1 und set2) auch ändern. – creativ