Подтвердить что ты не робот

Как добавить имя для каждого столбца на ios-chart?

Я делаю 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).

Где я должен добавить значения понедельника и вторника, которые будут показаны выше для каждого столбца?

Спасибо заранее!

4b9b3361

Ответ 1

Если вы посмотрите на ответ, найденный по следующей ссылке, вы увидите, что кто-то получил новую версию диаграмм Swift 2.3, чтобы разрешить использование строковых меток по оси x:

fooobar.com/questions/295885/...

Вы указываете, что работаете с Swift 3.0, но пересмотренный синтаксис функции BarChartData(), создавший эту проблему, выглядит одинаково между 2.3 и 3.0, поэтому, похоже, такое же решение применимо.

ИЗМЕНИТЬ

Просто протестированный, этот ответ может быть реализован в Swift 3.

Ответ 2

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/: вы можете обратиться за дополнительными параметрами и подробным описанием.