Как добавить имя для каждого столбца на 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
).
Где я должен добавить значения понедельника и вторника, которые будут показаны выше для каждого столбца?
Спасибо заранее!
Ответы
Ответ 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/: вы можете обратиться за дополнительными параметрами и подробным описанием.