Upgrade to Pro — share decks privately, control downloads, hide ads and more …

体験!SwiftChartsの世界

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for shoma.kato shoma.kato
December 08, 2025

 体験!SwiftChartsの世界

ZOZO.swiftで発表したスライドです!

Avatar for shoma.kato

shoma.kato

December 08, 2025
Tweet

More Decks by shoma.kato

Other Decks in Programming

Transcript

  1. © ZOZO, Inc. 4 ɹɹSwiftChartsͱ͸ʁ  άϥϑ࡞੒ͷͨΊͷϑϨʔϜϫʔΫ ɹɾJ04Ҏ߱ ɹɾ4XJGU6*Ͱهड़ ɹɾ๮άϥϑɺԁάϥϑͳͲଟछྨ

    ɹɾ7PJDF0WFSɺ"VEJP(SBQIͷαϙʔτ ɹɾ࣍ݩม׵ Ҿ༻ݩIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPO$IBSUT
  2. © 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)) ɹ} }
  3. © 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)) ɹ} } ᶃΠϯϙʔτ
  4. © 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σʔλಡΈࠐΈ
  5. © 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σʔλಡΈࠐΈ ᶅ๮άϥϑ
  6. © 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σʔλಡΈࠐΈ ᶅ๮άϥϑ ᶆ৭෼͚ˍੵΈ্͛
  7. © 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Ҏ߱
  8. © 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Ҏ߱ ᶄ೔෼ͷදࣔ
  9. © 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Ҏ߱ʣ