我在我的项目中使用优秀的JBChartView
并且它工作得很好。这是我目前的代码:
self.lineChart = [[JBLineChartView alloc] initWithFrame:CGRectMake(320, 400, 680, 300)];
self.lineChart.dataSource = self;
self.lineChart.delegate = self;
self.lineChart.backgroundColor = [UIColor clearColor];
JBLineChartFooterView *footerView = [[JBLineChartFooterView alloc] initWithFrame:CGRectMake(10, ceil(self.view.bounds.size.height * 0.5) - ceil(10 * 0.5), self.view.bounds.size.width - (10 * 2), 10)];
footerView.backgroundColor = [UIColor clearColor];
footerView.leftLabel.text = @"yesterday";
footerView.leftLabel.textColor = [UIColor whiteColor];
footerView.rightLabel.text = @"now";
footerView.rightLabel.textColor = [UIColor whiteColor];
footerView.sectionCount = 10;
self.lineChart.footerView = footerView;
[self.view addSubview:self.lineChart];
[self.lineChart setState:JBChartViewStateCollapsed animated:YES];
没什么好看的,真的。
JBChartView根据lineChartView: heightForIndex:
中传递给它的数据自动选择Y轴刻度。这在大多数情况下都很好。然而,我的数据是CPU使用率,因此我想迫使Y轴在底部始终为0,在顶部为100。
实际上,我希望它在底部为0,在顶部为MAX(100, highestPoint)
(因为CPU使用率有时可能超过100%) - 这可能吗?
答案 0 :(得分:4)
从v2.2.1开始,JBChartView允许您为y轴提供 minimumValue 和/或 maximumValue 。
备注:强>
希望这有帮助!
答案 1 :(得分:0)
事实证明,我需要做的就是修改line 240 of JBLineChartView.m:
self.cachedMaxHeight = maxHeight;
说:
self.cachedMaxHeight = MAX(100,maxHeight);