Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为ios图表上的每个列添加名称?_Ios_Swift_Ios Charts - Fatal编程技术网

如何为ios图表上的每个列添加名称?

如何为ios图表上的每个列添加名称?,ios,swift,ios-charts,Ios,Swift,Ios Charts,我正在用ios图表库制作BarChart。由于它类似于MPAndroidChart我在创建它们时没有太多问题,但我无法在每个列的上方添加一个名称/标签,以显示一周中的天数 在Android上,将值设置为相应的BarDataSet后,我使用: BarData data = new BarData(labels, dataset); 其中标签是每列的名称,数据集是数据集 问题是在Swift上,我找不到为每列添加标签的方法。这是我目前掌握的代码(一个简单的示例): 结果如下: 但是我不能把周一和

我正在用
ios图表库制作
BarChart
。由于它类似于
MPAndroidChart
我在创建它们时没有太多问题,但我无法在每个列的上方添加一个名称/标签,以显示一周中的天数

在Android上,将值设置为相应的
BarDataSet
后,我使用:

BarData data = new BarData(labels, dataset); 
其中标签是每列的名称,数据集是数据集

问题是在
Swift
上,我找不到为每列添加标签的方法。这是我目前掌握的代码(一个简单的示例):

结果如下:

但是我不能把
周一
周二
的值放在1.04,1.12,1.20。。。出现值。此外,我无法在
BarChartData
函数上添加标签(如在
Android
上)

我应该在哪里添加每个列上面显示的星期一和星期二值

提前谢谢

days=[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”]
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
let DaysValue=[20.0,4.0,6.0,3.0,12.0,16.0,4.0] 集合图表(天,值:天值) var数据项:[BarChartDataEntry]=[]
对于0中的i..如果您查看以下链接中的答案,您将看到有人获得了新的Swift 2.3版本的图表,以允许在x轴上使用字符串标签:

您表示您正在使用Swift 3.0,但创建此问题的修订版BarChartData()函数语法在2.3和3.0之间看起来是相同的,因此似乎同样的解决方案也适用

编辑


刚刚测试过,这个答案可以在Swift 3中实现。

下面的答案,对你有用吗?@prabodhprakash我正在阅读教程,并根据我的自定义图表进行调整。请耐心等待,我需要几分钟来重构代码。我使用的是Swift 3.0,没有参数为
BarChartDataEntry(double,Int)
的函数。只有
BarChartDataEntry(double,double)
可用。我们仍然可以将Int作为double传递?它不是这样工作的吗?是的,我试着用
double(I)
将它作为double传递(Xcode 8向我建议了它,但我忘了更新注释)。现在我面临的问题是错误
致命错误:索引超出范围
,因此我正在查找代码上是否有超过需要的索引。我将提交我得到的任何更改。好的,要做一个快速实验,你可以尝试硬编码索引范围,然后运行代码查看,如果你得到正确的图例。这将帮助我们确定图例是否有效。如果你看我的代码,你的代码和我的代码几乎相同。问题再次出现,因为我无法将
xVals:days
设置为我的
BarChartData
函数。
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