Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
体験!SwiftChartsの世界
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shoma.kato
December 08, 2025
Programming
0
11
体験!SwiftChartsの世界
ZOZO.swiftで発表したスライドです!
shoma.kato
December 08, 2025
Tweet
Share
More Decks by shoma.kato
See All by shoma.kato
動画エフェクトに関する新技術の紹介
shomakato
0
17
はじめてのPDFKit.pdf
shomakato
0
200
はじめてのPDFKit
shomakato
0
33
SwiftとC++を利用した画像処理プログラミング
shomakato
0
2.3k
Other Decks in Programming
See All in Programming
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
150
MUSUBIXとは
nahisaho
0
140
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
Oxlintはいいぞ
yug1224
5
1.4k
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
高速開発のためのコード整理術
sutetotanuki
1
410
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
CSC307 Lecture 06
javiergs
PRO
0
690
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
990
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Building Applications with DynamoDB
mza
96
6.9k
From π to Pie charts
rasagy
0
130
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
120
Into the Great Unknown - MozCon
thekraken
40
2.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
330
The SEO Collaboration Effect
kristinabergwall1
0
350
Raft: Consensus for Rubyists
vanstee
141
7.3k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
190
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Transcript
Copyright © ZOZO, Inc. ମݧʂSwiftChartsͷੈք גࣜձࣾZOZO ϒϥϯυιϦϡʔγϣϯ։ൃຊ෦ FAANS෦ ϑϩϯτΤϯυϒϩοΫ Ճ౻
ਅ @shoma10170806
© ZOZO, Inc. 2 FAANSͷՌը໘ ɾάϥϑച্දࣔ ɾԣεΫϩʔϧ ɾදࣔ୯Ґिؒ
© ZOZO, Inc. 3 FAANSͷՌը໘ %($IBSUT άϥϑͷදࣔ 4XJGU$IBSUT ɾάϥϑച্දࣔ ɾԣεΫϩʔϧ
ɾදࣔ୯Ґिؒ
© ZOZO, Inc. 4 ɹɹSwiftChartsͱʁ άϥϑ࡞ͷͨΊͷϑϨʔϜϫʔΫ ɹɾJ04Ҏ߱ ɹɾ4XJGU6*Ͱهड़ ɹɾάϥϑɺԁάϥϑͳͲଟछྨ
ɹɾ7PJDF0WFSɺ"VEJP(SBQIͷαϙʔτ ɹɾ࣍ݩม Ҿ༻ݩIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPO$IBSUT
© ZOZO, Inc. 5 ɹɹFAANSػೳͷ࣮ ̎ ɾάϥϑͷදࣔ ɾԣεΫϩʔϧରԠ ɾिؒ୯ҐͰදࣔ
© ZOZO, Inc. 6 άϥϑͷදࣔ import Charts var body: some
View { Chart(stackedBarData, id: \.id) { row in BarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) ɹ} }
© ZOZO, Inc. 7 άϥϑͷදࣔ import Charts var body: some
View { Chart(stackedBarData, id: \.id) { row in BarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) ɹ} } ᶃΠϯϙʔτ
© ZOZO, Inc. 8 άϥϑͷදࣔ import Charts var body: some
View { Chart(stackedBarData, id: \.id) { row in BarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) ɹ} } ᶃΠϯϙʔτ ᶄ$IBSUσʔλಡΈࠐΈ
© ZOZO, Inc. 9 άϥϑͷදࣔ import Charts var body: some
View { Chart(stackedBarData, id: \.id) { row in BarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) ɹ} } ᶃΠϯϙʔτ ᶄ$IBSUσʔλಡΈࠐΈ ᶅάϥϑ
© ZOZO, Inc. 10 άϥϑͷදࣔ import Charts var body: some
View { Chart(stackedBarData, id: \.id) { row in BarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) ɹ} } ᶃΠϯϙʔτ ᶄ$IBSUσʔλಡΈࠐΈ ᶅάϥϑ ᶆ৭͚ˍੵΈ্͛
© ZOZO, Inc. 11 ԣεΫϩʔϧˍ1िؒදࣔ Chart(stackedBarData, id: \.id) { row
in ɹBarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) } .chartScrollableAxes(.horizontal) .chartXVisibleDomain(length: 7 * 24 * 60 * 60) .chartScrollTargetBehavior(.paging) ᶃ ԣεΫϩʔϧ J04Ҏ߱
© ZOZO, Inc. 12 ԣεΫϩʔϧˍ1िؒදࣔ Chart(stackedBarData, id: \.id) { row
in ɹBarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) } .chartScrollableAxes(.horizontal) .chartXVisibleDomain(length: 7 * 24 * 60 * 60) .chartScrollTargetBehavior(.paging) ᶃ ԣεΫϩʔϧ J04Ҏ߱ ᶄͷදࣔ
© ZOZO, Inc. 13 ԣεΫϩʔϧˍ1िؒදࣔ Chart(stackedBarData, id: \.id) { row
in ɹBarMark( x: .value("Day", row.date, unit: .day), y: .value("Sales", row.sales) ) .foregroundStyle(by: .value("Type", row.type)) } .chartScrollableAxes(.horizontal) .chartXVisibleDomain(length: 7 * 24 * 60 * 60) .chartScrollTargetBehavior(.paging) ᶃ ԣεΫϩʔϧ J04Ҏ߱ ᶄͷදࣔ ᶅिؒ୯ҐͰεΫϩʔϧ ɹʢJ04Ҏ߱ʣ
© ZOZO, Inc. 14 ɹɹએ ɾ'""/4ը໘ͷ࣮ํ๏ ɾ՝ͷղܾํ๏ ɾ%($IBSUTͱ4XJGU$IBSUTͷൺֱ
None