0
iOS Charts Libraryによって作成された折れ線グラフで作業しています。iOS Chartsライブラリ - 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