Open
Description
How fix this issue?
version: - DGCharts (5.1.0):
my dataset is:
my code is :
private func createDraw(_ key: String, titleText: String) -> (UIView, DGCharts.LineChartView) {
createViewTuples(key, titleText: titleText) {
let chart = LineChartView(frame: CGRectMake(0, 0, 120, 40))
chart.xAxis.enabled = false
let yAxis = chart.rightAxis
yAxis.labelFont = UIFont.systemFont(ofSize: 5)
yAxis.setLabelCount(3, force: true)
yAxis.labelTextColor = .white
yAxis.labelPosition = .insideChart
yAxis.axisLineColor = .white
chart.rightAxis.enabled = true
chart.leftAxis.enabled = false
chart.pinchZoomEnabled = false
chart.legend.enabled = false
chart.heightAnchor.constraint(equalToConstant: 60).isActive = true
return chart
}
}
private func updateLineDraw(maxCount: Int = 30, newValues: [(Float, String?)], chart: DGCharts.LineChartView) {
let data: LineChartData = chart.data as? LineChartData ?? {
let data = LineChartData(dataSets: [])
chart.data = data
data.setDrawValues(false)
return data
}()
for dataSetIndex in 0 ..< max(data.dataSets.count, newValues.count) {
var newValue: Float = 0
var label: String = ""
if newValues.count > dataSetIndex {
newValue = newValues[dataSetIndex].0
label = newValues[dataSetIndex].1 ?? label
}
var dataSet: LineChartDataSet!
if data.dataSets.count > dataSetIndex,
let ds = data.dataSets[dataSetIndex] as? LineChartDataSet {
dataSet = ds
} else {
dataSet = LineChartDataSet(entries: [], label: label)
dataSet.mode = .cubicBezier
dataSet.drawCirclesEnabled = false
dataSet.lineWidth = 1.8
dataSet.circleRadius = 4
dataSet.setCircleColor(.white)
dataSet.highlightColor = UIColor(red: 244 / 255, green: 117 / 255, blue: 117 / 255, alpha: 1)
dataSet.fillColor = .white
dataSet.fillAlpha = 1
dataSet.drawHorizontalHighlightIndicatorEnabled = false
data.append(dataSet)
}
var dataEntrys = dataSet.entries
let delta = maxCount - dataEntrys.count - 1
if delta > 0 {
for idx in 0 ..< delta {
dataEntrys.append(ChartDataEntry(x: Double(idx), y: 0))
}
}
let maxX = dataEntrys.reduce(0) { idx, entry in
idx > entry.x ? idx : entry.x
}
dataEntrys.append(ChartDataEntry(x: maxX + 1, y: Double(newValue)))
dataSet.replaceEntries(dataEntrys)
}
}
Metadata
Metadata
Assignees
Labels
No labels