格式化条形图的x轴值,条形和标签

时间:2018-08-03 23:12:12

标签: swift ios-charts

我有此条形图,它存在一些格式问题:

bar chart

我想解决这些问题:

  • 酒吧里有奇怪的数字。他们可能会消失,那会很高兴。
  • 也很奇怪,但条形图上方的数字不同。这些可能是实际数字。
  • 图表标签“最近的应用数据”可能看起来更主要(例如,更大,斜体)
  • x轴上的日期很近。不确定如何处理。

这是我绘制这些的方式:

func setBarChart (data: [(String,[Double])], label: String, xLabels: [String]) {
    var entries: [BarChartDataEntry] = []
    for (index, tuple) in data.enumerated() {
        entries.append(BarChartDataEntry(x: Double(index), yValues: tuple.1))
    }

    let set = BarChartDataSet(values: entries, label: DataViewController.constants.labelDate)

    set.setColor(UIColor.orange)

    let data = BarChartData(dataSets: [set])
    barChart.data = data

    barChart.chartDescription?.text = label
    barChart.xAxis.valueFormatter = IndexAxisValueFormatter(values: xLabels)
    barChart.xAxis.granularity = 1

    let legendEntry = LegendEntry()
    legendEntry.formColor = UIColor.orange
    legendEntry.label = "mean performance"

    barChart.legend.setCustom(entries: [legendEntry]);

    barChart.notifyDataSetChanged()
}

1 个答案:

答案 0 :(得分:1)

我不知道您的前三个问题的答案,但是,我遇到的问题与您在第四个问题中描述的问题类似。我发现了两个解决标签重叠问题的方法:

  1. 您可以通过在字符串中间添加 \ n (例如,“ 2018 \ n07-23”),以两行显示标签的文本。这样会减小标签的宽度,因此它们不会互相覆盖。
  2. 第二种选择是减少图表中显示的条形数量。您可以使用 setVisibleXRangeMaximum (有关此here的更多信息)来实现。

祝你好运!