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
17
0
Share
体験!SwiftChartsの世界
ZOZO.swiftで発表したスライドです!
shoma.kato
December 08, 2025
More Decks by shoma.kato
See All by shoma.kato
動画エフェクトに関する新技術の紹介
shomakato
0
23
はじめてのPDFKit.pdf
shomakato
0
210
はじめてのPDFKit
shomakato
0
35
SwiftとC++を利用した画像処理プログラミング
shomakato
0
2.4k
Other Decks in Programming
See All in Programming
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
810
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
おれのAgentic Coding 2026/03
tsukasagr
1
130
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
550
安いハードウェアでVulkan
fadis
1
920
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
230
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
110
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
320
へんな働き方
yusukebe
6
2.9k
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
130
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
310
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building the Perfect Custom Keyboard
takai
2
720
Tell your own story through comics
letsgokoyo
1
890
Discover your Explorer Soul
emna__ayadi
2
1.1k
Faster Mobile Websites
deanohume
310
31k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
310
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
500
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
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