Film şeridine bar chart ekledim, ancak veri girişlerim için etiketleri doğru şekilde ayarlayamıyorum.ios-grafiklerde BarChartView için XAxis için etiketler nasıl eklenir?
var names = ["aaa", "bbb", "ccc", "ddd"]
var values = [230.0, 280.0, 450.0, 340.0]
setChart(dataPoints: names, values: values)
setChart fonksiyonu:
func setChart(dataPoints: [String], values: [Double])
{
let formatter = BarChartFormatter()
formatter.setValues(values: dataPoints)
let xaxis:XAxis = XAxis()
barChartView.noDataText = "You need to provide data for the chart."
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count
{
let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: "موجودی")
let chartData = BarChartData(dataSet: chartDataSet)
xaxis.valueFormatter = formatter
barChartView.xAxis.labelPosition = .bottom
barChartView.xAxis.drawGridLinesEnabled = false
barChartView.xAxis.valueFormatter = xaxis.valueFormatter
barChartView.chartDescription?.enabled = false
barChartView.legend.enabled = true
barChartView.rightAxis.enabled = false
barChartView.data = chartData
}
ve son olarak biçimlendirici: Burada
benim kodudur@objc(BarChartFormatter)
public class BarChartFormatter: NSObject, IAxisValueFormatter
{
var names = [String]()
public func stringForValue(_ value: Double, axis: AxisBase?) -> String
{
return names[Int(value)]
}
public func setValues(values: [String])
{
self.names = values
}
}
ama aşağıda gösterildiği gibi de işe yaramadı:
Burada gösterildiği gibi 6 etiket yerine 4 etiket eklenir ve ayrıca iki kopyası da vardır.
Zaten this solution'u okudum, ancak görebileceğiniz gibi, henüz bazı sorunlar var.
Bu sorunu nasıl çözebilirim?
Bu benim için çalışmaz. lütfen [problem] bölümüne bakın (https://stackoverflow.com/questions/46618636/how-to-add-string-labels-xaxis-labels-to-horizontal-bar-in-charts-framework) –