如何为 ios-chart 上的每一列添加名称?
How can I add a name for each column on ios-chart?
我正在用 ios-chart
库做一个 BarChart
。因为它类似于 MPAndroidChart
我在创建它们时没有很多问题,但我无法在每一列上方添加一个 name/label 和星期几。
在 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
结果如下:
但我无法在出现 1.04、1.12、1.20... 值的位置放置 Monday
和 Tuesday
值。此外,我无法在 BarChartData
函数上添加标签(如 Android
)。
我应该在哪里添加星期一和星期二的值以显示在每列的上方?
提前致谢!
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/ 那里得到了这个答案:您可以参考更多选项和详细说明。
如果您查看在以下 link 中找到的答案,您会发现有人获得了新的 Swift 2.3 版图表,允许在 x- 上使用字符串标签轴:
您表示您正在使用 Swift 3.0,但造成此问题的修订后的 BarChartData() 函数语法在 2.3 和 3.0 之间看起来是相同的,因此似乎适用相同的解决方案。
编辑
刚刚测试,答案可以在Swift 3.
中实现
我正在用 ios-chart
库做一个 BarChart
。因为它类似于 MPAndroidChart
我在创建它们时没有很多问题,但我无法在每一列上方添加一个 name/label 和星期几。
在 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
结果如下:
但我无法在出现 1.04、1.12、1.20... 值的位置放置 Monday
和 Tuesday
值。此外,我无法在 BarChartData
函数上添加标签(如 Android
)。
我应该在哪里添加星期一和星期二的值以显示在每列的上方?
提前致谢!
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/ 那里得到了这个答案:您可以参考更多选项和详细说明。
如果您查看在以下 link 中找到的答案,您会发现有人获得了新的 Swift 2.3 版图表,允许在 x- 上使用字符串标签轴:
您表示您正在使用 Swift 3.0,但造成此问题的修订后的 BarChartData() 函数语法在 2.3 和 3.0 之间看起来是相同的,因此似乎适用相同的解决方案。
编辑
刚刚测试,答案可以在Swift 3.
中实现