【问题标题】:Is it possible to only show xAxis labels when there is data in iOS Charts是否可以仅在 iOS 图表中有数据时显示 xAxis 标签
【发布时间】:2020-12-04 14:08:03
【问题描述】:

我正在使用iOS Charts,并为在折线图上收集数据的每一天绘制一个值。如果那天有数据,我只想要一个 xAxis 标签和线条。

但 iOS 图表每天都在布置 xAxis 标签。

Y 值的范围是 1 到 5,X 值是天数之前

因此,如果有 23 天前的数据和 34 天前的数据,而两者之间没有数据,我只想在图表上显示这两天。

let yValues: [ChartDataEntry] = [
    ChartDataEntry(x: 23, y: 3.0),
    ChartDataEntry(x: 34, y: 2.0)
]

我希望 x 轴上的可见天数不超过 6 天,因此我设置了:

lineChart.setVisibleXRangeMaximum(6)

但它显示了 23 到 34 之间的所有空天:

那么你如何抑制标签/第 24-33 行?

【问题讨论】:

    标签: ios swift charts


    【解决方案1】:

    是的,这是可能的。

    首先尝试禁用 xAxis ? 现在 23-29 不会显示。

    chartView.xAxis.enabled = false
    

    不喜欢这个答案后,一定要试试这个;

    chartView.xAxis.drawLabelsEnabled = false
    

    现在您只想显示 6 天;尝试在之后添加这一行

    lineChart.data = yourData
    lineChart.setVisibleXRangeMaximum(6)
    lineChart.setVisibleXRangeMinimum(6)
    

    【讨论】:

    • xAxis.enabled = falsexAxis.drawLabelsEnabled = false 只需删除标签和行,但不要压缩数据,以便仅显示有数据的日期。仍然只有 1 个数据点可见。无论当天是否有数据,iOS 图表都会为每一天腾出空间。这就是问题所在。而且...setVisibleXRangeMaximum(6) 已经设置好了。
    • 这个问题有什么解决办法吗? @lilbiscuit ?
    • @KishoreKankata 如果您使用 setVisibleXRangeMaximum(6) 和 setVisibleXRangeMinimum(6) 您的问题将得到解决 :)
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多