【发布时间】:2016-01-19 16:26:18
【问题描述】:
对于饼图,通常有几个“切片”,其中包含非常小的部分数据(例如,
条形图也会出现类似问题,其中所有值相互重叠并变得不可读,如下所示。我能想到的解决方案是只显示部分条形图,如果用户平移则显示其他条形图。
如果有人处理过任何一个问题,我会很高兴看到您如何解决它,或者如果使用不同的库会更好。我在下面发布了一些代码,但不确定它是否会有所帮助,因为这可能不是真正的实现错误。
条形图
//...init view...
_chartView.delegate = self;
_chartView.descriptionText = @"";
_chartView.noDataTextDescription = @"No data";
_chartView.drawHighlightArrowEnabled = true;
_chartView.drawValueAboveBarEnabled = YES;
_chartView.drawMarkers = true;
_chartView.dragEnabled = true;
ChartXAxis *xAxis = _chartView.xAxis;
xAxis.labelPosition = XAxisLabelPositionBottom;
xAxis.labelFont = [UIFont systemFontOfSize:10.f];
xAxis.drawGridLinesEnabled = NO;
xAxis.spaceBetweenLabels = 2.0;
ChartYAxis *rightAxis = _chartView.rightAxis;
rightAxis.enabled = NO;
NSMutableArray *yVals = [[NSMutableArray alloc] init];
NSMutableArray *xVals = [[NSMutableArray alloc] init];
//populate xVals and yVals with data..
BarChartDataSet *set1 = [[BarChartDataSet alloc] initWithYVals:yVals label:@"Occurences"];
set1.colors = ChartColorTemplates.vordiplom;
set1.drawValuesEnabled = YES;
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:set1];
BarChartData *bdata = [[BarChartData alloc] initWithXVals:xVals dataSets:dataSets];
[bdata setValueFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:10.f]];
_chartView.data = bdata;
[self.view addSubview:_chartView];
饼图
//初始化饼图.. _pieChart.delegate = self;
_pieChart.usePercentValuesEnabled = YES;
_pieChart.descriptionText = @"";
_pieChart.drawCenterTextEnabled = YES;
NSMutableArray *yVals = [[NSMutableArray alloc] init];
NSMutableArray *xVals = [[NSMutableArray alloc] init];
//...populate xVals and yVals with data
PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithYVals:yVals label:@"Locations"];
dataSet.sliceSpace = 2.0;
dataSet.colors = ChartColorTemplates.joyful;
PieChartData *data1 = [[PieChartData alloc] initWithXVals:xVals dataSet:dataSet];
NSNumberFormatter *pFormatter = [[NSNumberFormatter alloc] init];
pFormatter.numberStyle = NSNumberFormatterPercentStyle;
pFormatter.maximumFractionDigits = 1;
pFormatter.multiplier = @1.f;
pFormatter.percentSymbol = @" %";
[data1 setValueFormatter:pFormatter];
_pieChart.data = data1;
[self.view addSubview:_pieChart];
【问题讨论】:
标签: ios objective-c charts ios-charts