0
我正在處理由iOS Charts Library所做的折線圖。iOS圖表庫 - 剪切X軸中的最後一個值
X軸的值是1980年至2000年,但最後一個值「2000」被從X軸錯過了,如下面的截圖:
代碼如下:
#import <Charts/Charts-Swift.h>
@interface ViewController() <ChartViewDelegate> {
IBOutlet UITextField *tfInput;
IBOutlet LineChartView *chartView;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
chartView.delegate = self;
chartView.chartDescription.enabled = NO;
chartView.drawGridBackgroundEnabled = YES;
chartView.legend.enabled = NO;
// X-axis
chartView.xAxis.gridLineDashLengths = @[@10.0, @10.0];
chartView.xAxis.gridLineDashPhase = 0.f;
chartView.xAxis.labelPosition = XAxisLabelPositionBottom;
// Y-axis
chartView.rightAxis.enabled = NO;
NSMutableArray *theDataSet = [NSMutableArray array];
// (logic of adding data into data set here)
[self updateChartDataWithData:theDataSet];
}
- (void)updateChartDataWithdata:(NSMutableArray *)data {
LineChartDataSet *dataSet = nil;
if(chartView.data.dataSetCount > 0) {
// Load existing data set
dataSet = (LineChartDataSet *)chartView.data.dataSets[0];
// ...and update it
dataSet.values = data;
[chartView.data notifyDataChanged];
[chartView notifyDataSetChanged];
} else {
// Create new dataset
dataSet = [[LineChartDataSet alloc] initWithValues:data label:@"Dataset"];
dataSet.axisDependency = AxisDependencyLeft;
[dataSet setColor:[UIColor colorWithRed:51/255.f green:181/255.f blue:229/255.f alpha:1.f]];
[dataSet setCircleColor:UIColor.whiteColor];
dataSet.lineWidth = 2.0;
dataSet.circleRadius = 3.0;
dataSet.fillAlpha = 66/255.0;
dataSet.fillColor = [UIColor colorWithRed:51/255.f green:181/255.f blue:229/255.f alpha:1.f];
dataSet.highlightColor = [UIColor colorWithRed:244/255.f green:117/255.f blue:117/255.f alpha:1.f];
dataSet.drawCircleHoleEnabled = NO;
dataSet.drawValuesEnabled = NO;
dataSet.drawCirclesEnabled = NO;
NSMutableArray *dataSets = [[NSMutableArray alloc] init];
[dataSets addObject:dataSet];
LineChartData *data = [[LineChartData alloc] initWithDataSets:dataSets];
[data setValueTextColor:UIColor.whiteColor];
[data setValueFont:[UIFont systemFontOfSize:9.f]];
chartView.data = data;
}
}
使用的實際數據是如下:
X: 1980 Y: 0.000000115
X: 1981 Y: 0.000000028
X: 1982 Y: 0.000000038
X: 1983 Y: 0.000000016
X: 1984 Y: 0.000000032
X: 1985 Y: 0.000000038
X: 1986 Y: 0.000000045
X: 1987 Y: 0.000000069
X: 1988 Y: 0.000000045
X: 1989 Y: 0.000000074
X: 1990 Y: 0.000000054
X: 1991 Y: 0.000000058
X: 1992 Y: 0.000000049
X: 1993 Y: 0.000000066
X: 1994 Y: 0.000000065
X: 1995 Y: 0.000000059
X: 1996 Y: 0.000000050
X: 1997 Y: 0.000000048
X: 1998 Y: 0.000000062
X: 1999 Y: 0.000000081
X: 2000 Y: 0.000000079
我錯過了什麼/錯誤配置了圖表視圖?
p.s.圖表視圖右側有很多空格,但最後一個值只是不顯示。
是的,它非常有用,非常感謝! – Raptor