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
shoma.kato
December 08, 2025
Programming
28
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
体験!SwiftChartsの世界
ZOZO.swiftで発表したスライドです!
shoma.kato
December 08, 2025
More Decks by shoma.kato
See All by shoma.kato
動画エフェクトに関する新技術の紹介
shomakato
0
30
はじめてのPDFKit.pdf
shomakato
0
240
はじめてのPDFKit
shomakato
0
57
SwiftとC++を利用した画像処理プログラミング
shomakato
0
2.5k
Other Decks in Programming
See All in Programming
ソフトウェアラスタライザ
fadis
1
760
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
180
이 함수, 실패하면 어떻게 되나요? null부터 Rich Errors까지, Kotlin 에러 처리 15년
haeti2
0
110
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
880
My Marp Sample
sinoue0108
0
130
typoなんかねぇよ
raspython3
0
630
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
120
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
490
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
100
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
120
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
Deep dive into the select statement (GopherCon UK)
jespino
0
160
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
5.2k
Building the Perfect Custom Keyboard
takai
2
860
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
400
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
540
Writing Fast Ruby
sferik
630
63k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
500
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
310
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Designing for humans not robots
tammielis
254
26k
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