Я использую КСН-диаграмму для отображения по горизонтали BarChart с одним значением, как это:В ios-диаграммах, как установить максимальное значение для оси y?
var dataEntries: [BarChartDataEntry] = []
let dataEntry = BarChartDataEntry(value: self.deductible!.deductiblePaid, xIndex: 0)
dataEntries.append(dataEntry)
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Deductible")
let chartData = BarChartData(xVals: dataPoints, dataSet: chartDataSet)
self.horizontalBarChart!.data = chartData
self.horizontalBarChart!.leftAxis.customAxisMax = 3000.0
self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false
chartDataSet.colors = ChartColorTemplates.vordiplom()
Я попытался установить максимальное значение для YAxis, но его не влияющего на график. Редактировать: Пожалуйста, смотрите скриншот здесь: http://postimg.org/image/ogoj2t02f/ Что мне нужно, бар должен показывать верхний предел до 3000 (или указанную динамически) вместо расчетного верхнего предела.
Я изменил код, чтобы сделать это, вот то, что я в настоящее время:
self.horizontalBarChart!.noDataText = "You need to provide data for the chart."
self.horizontalBarChart!.setVisibleYRangeMaximum(3000, axis: ChartYAxis.AxisDependency.Left)
self.horizontalBarChart!.descriptionText = ""
var dataEntries: [BarChartDataEntry] = []
let dataEntry = BarChartDataEntry(value: self.deductible!.deductiblePaid, xIndex: 0)
dataEntries.append(dataEntry)
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: " ")
self.horizontalBarChart!.noDataText = "You need to provide data for the chart."
self.horizontalBarChart!.setViewPortOffsets(left: 0, top: 0, right: 0, bottom: 0);
let chartData = BarChartData(xVals: dataPoints, dataSet: chartDataSet)
self.horizontalBarChart!.autoScaleMinMaxEnabled = false
self.horizontalBarChart!.data = chartData
self.horizontalBarChart!.leftAxis.axisMaximum = 1600
self.horizontalBarChart!.leftAxis.axisMinimum = 00
self.horizontalBarChart!.rightAxis.axisMaximum = 1600
//self.horizontalBarChart!.leftAxis.customAxisMax = 3000.0
//self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false
chartDataSet.colors = ChartColorTemplates.vordiplom()
self.horizontalBarChart!.xAxis.labelPosition = .Top
self.horizontalBarChart!.backgroundColor = UIColor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1)
self.horizontalBarChart!.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
Пожалуйста, дайте мне знать, если я не ясно, и вам нужно больше информации. Это было более сложным, чем я думал, что это будет! Любая помощь здесь была бы высоко оценена.
Второй Edit: У меня есть следующий код прямо сейчас:
func setHorizontalBarChartData() {
self.horizontalBarChart!.descriptionText = ""
var dataEntries: [BarChartDataEntry] = []
let dataEntry = BarChartDataEntry(value: 900, xIndex: 0)
dataEntries.append(dataEntry)
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: " ")
self.horizontalBarChart!.noDataText = "You need to provide data for the chart."
//self.horizontalBarChart!.setViewPortOffsets(left: 0, top: 0, right: 0, bottom: 0);
let deductible = [" "]
let chartData = BarChartData(xVals: deductible, dataSet: chartDataSet)
self.horizontalBarChart!.data = chartData
self.horizontalBarChart!.leftAxis.startAtZeroEnabled = false
self.horizontalBarChart!.rightAxis.startAtZeroEnabled = false
self.horizontalBarChart!.rightAxis.customAxisMax = 3000
self.horizontalBarChart!.rightAxis.customAxisMin = 10
chartDataSet.colors = ChartColorTemplates.vordiplom()
self.horizontalBarChart!.xAxis.labelPosition = .Top
self.horizontalBarChart!.backgroundColor = UIColor(red: 189/255, green: 195/255, blue: 199/255, alpha: 1)
self.horizontalBarChart!.animate(xAxisDuration: 2.0, yAxisDuration: 2.0)
}
я все еще получаю то же самое: http://postimg.org/image/ogoj2t02f/ Что мне нужно, это только один бар со значениями ДО 3000 и гистограмму ближайшие ДО 900. Не могли бы вы помочь?
Я пробовал оба свойства customAxisMax и axisMax, но они не работали. – userx