我使用ios-charts在折线图中显示负值。显示正值但负值被剪裁为0.我已将左右轴设置为不从0开始但没有帮助。
LineChart1.leftAxis.startAtZeroEnabled = false
LineChart1.rightAxis.startAtZeroEnabled = false
有什么想法吗? TIA。
下面的代码段。
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.navigationController?.navigationBar.translucent = false
self.title = "Line Chart 1"
LineChart1.bounds = CGRectMake(-20, -20, 275, 250)
LineChart1.data = getMyData()
LineChart1.drawBordersEnabled = false
LineChart1.legend.enabled = false
LineChart1.leftAxis.startAtZeroEnabled = false
LineChart1.rightAxis.startAtZeroEnabled = false
LineChart1.xAxis.setLabelsToSkip(0)
LineChart1.xAxis.drawGridLinesEnabled = false
LineChart1.leftAxis.drawGridLinesEnabled = true
LineChart1.rightAxis.drawLabelsEnabled = false
LineChart1.animate(xAxisDuration: 0.3)
LineChart1.animate(yAxisDuration: 0.3)
LineChart1.setNeedsDisplay()
}
func getMyData() -> LineChartData {
var xVals = ["2008","2009","2010","2011","2012"]
var courses: [ChartDataEntry] = []
courses.append(ChartDataEntry(value: 3, xIndex: 0))
courses.append(ChartDataEntry(value: -40, xIndex: 1))
courses.append(ChartDataEntry(value: 4, xIndex: 2))
courses.append(ChartDataEntry(value: 4, xIndex: 3))
courses.append(ChartDataEntry(value: 3, xIndex: 4))
let bcds = LineChartDataSet(yVals: courses, label: "")
bcds.valueTextColor = UIColor.blackColor()
return LineChartData(xVals: xVals, dataSet: bcds)
}
答案 0 :(得分:2)
设置notifyDataSetChanged()
后,您应该致电startAtZeroEnabled
- 就像在示例应用中一样。
图表不知道内部组件上startAtZeroEnabled
等属性的更改,因此您必须告诉它。
并且因为最小值/最大值是根据notifyDataSetChanged
在startAtZeroEnabled
计算的,所以您必须通知setNeedsDisplay
...