我正在使用BarChart
库进行ios-chart
。因为它类似于MPAndroidChart
我创建它们时没有太多问题,但是我无法在每个列的上方添加一个名称/标签和星期几。
在Android上,将值设置为我使用的BarDataSet
:
BarData data = new BarData(labels, dataset);
其中标签是每列的名称,数据集是BarDataSet。
问题在于Swift
我无法找到为每列添加标签的方法。这是我目前的代码(一个简单的例子):
@IBOutlet weak var barChartView: BarChartView!
var entries = [ChartDataEntry]()
entries.append(BarChartDataEntry(x: 1.0, yValues: [1.0], label: "Monday"))
entries.append(BarChartDataEntry(x: 2.0, yValues: [4.0], label: "Tuesday"))
let charDataSet = BarChartDataSet(values: entries, label: "legend")
let charData = BarChartData(dataSets: [charDataSet])
barChartView.data = charData
结果如下:
但是我无法将Monday
和Tuesday
值放在显示1.04,1.12,1.20 ...值的位置。此外,我无法在BarChartData
函数上添加标签(如Android
上所述)。
我应该在哪里添加星期一和星期二值以显示在每列的上方?
提前致谢!
答案 0 :(得分:3)
如果您查看以下链接中找到的答案,您会看到有人获得了新的Swift 2.3版本的图表以允许在x轴上使用字符串标签:
https://stackoverflow.com/a/39149070/6889264
您表明您正在使用Swift 3.0,但创建此问题的修订版BarChartData()函数语法看起来在2.3和3.0之间是相同的,因此似乎可能适用相同的解决方案。
修改强>
刚刚测试过,答案可以在Swift 3中实现。
答案 1 :(得分:0)
days = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
let daysValues = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0]
setChart(days, values: daysValues)
var dataEntries: [BarChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Days Value")
let chartData = BarChartData(xVals: days, dataSet: chartDataSet)
barChartView.data = chartData
我从https://www.appcoda.com/ios-charts-api-tutorial/得到了这个答案:您可以参考更多选项和详细说明。