Open5
Swift Chartsに入門する
WWDC 動画
Swift Charts の実装に関するTips
- 内部に含むものが
ForEach
しかない場合
❌ForEach
を書く
Chart {
ForEach(sales) { element in
BarMark(
x: .value("Sales", element.sales),
y: .value("Name", element.name)
)
}
}
✅Chart
の引数にコレクションを渡して初期化すればいい
Chart(sales) { element in
BarMark(
x: .value("Sales", element.sales),
y: .value("Name", element.name)
)
}
Design app experiences with charts
いつ使うか
例えば
- 過去や予測される値を示す
- ものやカテゴリを比べる
どうやって使うか
- グラフには中身を表す言葉が伴うべき
- 以下のように何かの示唆を示すのは、見慣れていないデータの場合に有効
- 以下のように他のデータの要約をみせ、タップ時にチャートをフィルターして見せる
- 小さいチャートは、大きいチャートのプレビューとして使う。
- 詳細が見れる必要はない
- 例えば、株価やWatchの表示など
デザインシステム
複数のチャートがある場合
-
棒グラフや折れ線グラフはよく使われるので、見慣れている
-
散布図などは見慣れていないので、追加の説明が必要
-
チャートごとに色やスタイルを変えることで、違うチャートだと認識させ、文字を読んでもらえたりする
Design an effective chart
重要な5つの要素
- Marks
- Axes
- Description
- Interaction
- Color
Marks
- どんな種類のMarkを使うか
- 早めに実際のデータを使って検証した方が良い
- ゴールとデータを決める必要がある
Axes
- X軸とY軸
- 範囲が静的か動的か
- 静的:バッテリーのように100%が最大値の場合は、静的
- 動的:歩数のように最大値がわからないまたはない場合は、動的
- 目盛線とラベルの密度
- パターンだけがわかればいい小さいチャートなどは不要
Description
- グラフの意味を伝えるのに良い
Interactions
- 全てのインプットで同じ体験を提供するように!
Color
例えば
- 色でカテゴリを分類する
- 強度を示す
- 特定の場所に焦点を当てる
Swift Charts: Raise the bar
Swift Charts がサポートするデータタイプ
- 量的データ
- 数値
- 名目データ
- 個別のカテゴリやグループ
- 時間的データ
- ある時点または時間の間隔