Я пытаюсь использовать Библиотека диаграмм Даниэля Джинди , и я хочу, чтобы гистограмма или линейный график отображали только часть данных, но позволяли пользователю прокручивать вправо досм. остальные данные.
Прямо сейчас на диаграмме показаны ВСЕ данные внутри представления, поэтому столбцы слишком малы или невидимы, и если в начале графика были только точки данных,линейный график сокращен, так что вы не можете видеть данные.
Я попытался установить xAxis.axisMaximum на определенное значение, и это лучше отображает данные, но затем вы не можете прокрутить вправо, чтобы увидетьостальная часть графика.Я хочу и то и другое: видеть данные в разумном размере и иметь возможность прокручивать вправо, чтобы увидеть остальную часть диаграммы, если она нужна диаграмме, что часто бывает с моим программным обеспечением.
Здесьмой код гистограммы и линейчатой диаграммы:
override func makeChart(resultChoice: chartData)
{
let chart = getChartObject() as! BarLineChartViewBase
chart.autoScaleMinMaxEnabled = true // I've tried this as false //!chart.autoScaleMinMaxEnabled
chart.chartDescription?.enabled = false
chart.drawGridBackgroundEnabled = false
chart.dragEnabled = true
chart.setScaleEnabled(true) //I've tried setting this to false
chart.pinchZoomEnabled = true
chart.leftAxis.axisMinimum = getAxisMinimum()
chart.leftAxis.axisMaximum = getAxisMaximum()
chart.clipValuesToContentEnabled = false
let xAxis = chart.xAxis
xAxis.avoidFirstLastClippingEnabled = true
xAxis.labelPosition = XAxis.LabelPosition.bottom
chart.rightAxis.enabled = false
xAxis.drawGridLinesEnabled = false
xAxis.drawAxisLineEnabled = true
xAxis.granularity = 1.0
xAxis.labelFont = MyVariables.chartFont!
//xAxis.axisMinimum = 0
//xAxis.axisMaximum = 30
//xAxis.setValuesForKeys(<#T##keyedValues: [String : Any]##[String : Any]#>)
yAxis = chart.leftAxis
yAxis.labelFont = MyVariables.chartFont!
chart.rightAxis.enabled = false
chart.legend.enabled = true
yAxis.granularity = 1.0
yAxis.drawGridLinesEnabled = false
//var counter = 1.0
var myEntries : [ChartDataEntry] = []
var myXValues : [String] = []
if !resultChoice.plotPoints.isEmpty
{
startDate = resultChoice.plotPoints[0].xValue
for item in resultChoice.plotPoints
{
/*let timeString : String =
{
let formatter = DateFormatter()
formatter.dateFormat = "h:mm a"
formatter.amSymbol = "AM"
formatter.pmSymbol = "PM"
return formatter.string(from: item.xValue)
}()
myXValues.append(timeString)*/
/*if(item.showXValue)
{
myXValues.append(timeString)
}
else
{
myXValues.append("")
}*/
let myEntry = getChartDataEntry(xval: item.xValue.timeIntervalSince(startDate), yval: Double(item.yValue))
getColors(value: myEntry.y)
//counter += 1
myEntries.append(myEntry)
}
let myFormatter = MyXAxisValueFormatter(_startDate: startDate)
xAxis.valueFormatter = myFormatter
setYAxisFormatter()
createSet(myEntries: myEntries)
}
}
А вот код только моей гистограммы, чтобы показать, что я установил ширину бара:
override func createSet(myEntries: [ChartDataEntry])
{
let chart = getChartObject() as! BarChartView
let mySet = BarChartDataSet(values: myEntries, label: "Time Elapsing")
mySet.colors = myColors
mySet.valueColors = myColors
mySet.valueFont = MyVariables.chartFont!
setValueFormatter(set: mySet)
let myBarChartData = BarChartData(dataSet: mySet)
myBarChartData.barWidth = 0.8
chart.data = myBarChartData
}
Кроме того, я должен отметитьчто, по словам моего делового партнера, программное обеспечение вело себя так, как я сейчас пытаюсь заставить его вести себя.Я не помню этого, но тот факт, что он считает, что раньше все работало правильно, заставляет меня думать, что я, должно быть, изменил настройку, вызвавшую проблему.Кроме того, недавно я перешел от добавления диаграммы полностью программно к добавлению диаграммы в качестве подпредставления другого представления, которое было добавлено через конструктор интерфейса.Я не думаю, что это должно иметь значение для этой проблемы, хотя.Кроме того, причина, по которой моему бизнес-партнеру понравилось то, как данные отображались раньше, может быть не в изменении настроек.Я недавно изменил ось X, чтобы время отображалось равномерно.Это изменение было необходимо, или было бы трудно узнать, когда произошло событие, отображаемое на диаграмме.