📊

Swift Charts 細かいこと

2025/02/09に公開

.valueの一つ目の引数は何に使われるか

https://zenn.dev/samekard_dev/articles/ecce5438dcd914

表示要素がひとつもないときにチャートを表示する/しない

表示要素がひとつもないとき

  • 軸のスケール .chartXScale .chartYScale
  • 軸の説明 .chartXAxisLabel .chartYAxisLabel

の設定によって表示がこうなる。

どちらかの軸のスケールが設定されていればチャートを表示
どちらの軸のスケールも設定されていないならチャートを非表示
スケールが設定されている軸は端に数値を表示

スケールというのは気温なら-20から50のように表示する範囲を指定するもの。

これでなにが起きるかというと、
Yのスケールが設定されていて
Xのスケールが設定されていないとき、
要素数0のとき : チャートを表示、Yの数値を表示、Xは何も表示しない
要素数1以上のとき : チャートを表示、Yの数値を表示、Xは数値を表示
となって要素数が追加されたときにチャートのレイアウトが変わる。

また、軸の説明が設定されているとき、
その軸のスケールが設定されていれば説明を表示
その軸のスケールが設定されていないなら説明を非表示

さきほどの状況に加えてX軸の説明が設定されているとき
要素数0のとき : チャートを表示、Yの数値を表示、Xは何も表示しない
要素数1以上のとき : チャートを表示、Yの数値を表示、Xは数値と説明を表示
となってレイアウトの変化が大きくなる。

多くの場合、「表示する可能性があるものは要素数0でも表示しておく」がファイナルアンサーになると思う。この仕様にするには XY共にスケールを設定するとよい。

Discussion