2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swift Charts 特定の時だけデフォルトのAxisラベルを使いたい

Posted at

Swift Chartsの小ネタです。

データが多いとうまいことラベルの表示位置を制御できなかったので、表示期間によってラベルの表示を変えたいことがありました。
ただラベルをカスタムしているので、標準のラベルをどうやって明示的に利用するのか悩んでしまいました。
以下でできましたので共有になります。

    @AxisContentBuilder
    private var chartXAxisContent: some AxisContent {

        if historyRange != .all {
            AxisMarks(
                preset: .extended,
                position: .bottom,
                values: .stride(by: .day, count: histories.count / 6)
            ) { value in
                if let date = value.as(Date.self) {
                    AxisTick()
                    AxisGridLine(centered: false)
                    AxisValueLabel(collisionResolution: .disabled) {
                        xAxisLabel(date)
                    }
                }
            }
        } else {
            AxisMarks()
        }
    }

参考記事

いつもお世話になっております。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?