Secret-Of-SwiftUI / SSDC22

🀑 응~ 질렀? deprecated ν•˜λ©΄ κ·Έλ§Œμ΄μ•Ό~
9 stars 0 forks source link

Hello Swift Charts #15

Open hyun99999 opened 2 years ago

hyun99999 commented 2 years ago

Say hello to Swift Charts β€” a flexible framework that helps you create charts entirely in SwiftUI that look and feel right at home on all Apple platforms. Discover how you can use compositional syntax to make informative, delightful, and accessible charts with less code. We'll share the building blocks for making visualizations with Swift Charts, and explore how you can change your charts' design with a simple modifier. We'll also take you through the latest updates to Xcode Previews to help you chart a path toward an engaging experience.

hyun99999 commented 2 years ago

WWDC22 - Hello Swift Charts

*λ³Έ 글은 WWDC λ₯Ό 보고, λ²ˆμ—­ 및 μš”μ•½ 그리고 μ‹€ν–‰ν•΄λ³΄λŠ” μŠ€ν„°λ”” ν”„λ‘œμ νŠΈμ˜ μΌν™˜μž…λ‹ˆλ‹€.

1

SwiftUI μ—μ„œ 차트λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ Apple 의 μƒˆλ‘œμš΄ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€.

(iOS 16.0+, iPad 16.0+, macOS 13.0+, Mac Catalyst 16.0+, tvOS 16.0+, watchOS 9.0+ λΆ€ν„° μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.)

Apple μ—μ„œλŠ” μ‹œκ°ν™”λ₯Ό μœ„ν•œ λͺ¨λ²” 사둀λ₯Ό μ—°κ΅¬ν•˜λŠ”λ° μˆ˜λ…„μ„ λ³΄λƒˆμŠ΅λ‹ˆλ‹€. μ°¨νŠΈλŠ” νŠΉμ • μ‹œκ°„ λ²”μœ„μ— λŒ€ν•œ νŠΈλžœλ“œμ™€ μ£Όκ°€ 변동, λ§ˆμ§€λ§‰ μš΄λ™ 쀑 μ‹¬λ°•μˆ˜, 저녁 μ‹œκ°„μ— μ‹œμ›ν•΄μ§ˆ λ•Œμ™€ 같은 데이터에 λŒ€ν•œ μΆ”κ°€μ μœΌλ‘œ μœ μš©ν•œ μ»¨ν…μŠ€νŠΈλ₯Ό ν‘œμ‹œν•  λ•Œ κ°€μž₯ 잘 μž‘λ™ν•˜λŠ” 것을 λ°°μ› μŠ΅λ‹ˆλ‹€.

2

그리고 이것듀은 λͺ¨λ“  ν”Œλž«νΌμ˜ λ§Žμ€ 예 쀑 일뢀일 λΏμž…λ‹ˆλ‹€.

μ—¬λŸ¬λΆ„μ—κ²Œ μ•±μ—μ„œ μœ μ΅ν•˜κ³  즐거운 차트λ₯Ό λ§Œλ“€ 수 μžˆλ„λ‘ μƒˆλ‘œμš΄ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ†Œκ°œν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€.

Say hello to Swift Charts

4

Swift Charts λŠ” Apple 이 λ””μžμΈν•œ 차트λ₯Ό λ§Œλ“€κΈ° μœ„ν•œ μœ μ—°ν•œ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€. SwiftUI 와 λ™μΌν•œ 선언적 ꡬ문을 μ‚¬μš©ν•˜λ―€λ‘œ 이미 Swift Charts 의 μ–Έμ–΄λ₯Ό μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€.

μ˜€λŠ˜μ€ Swift Charts λ₯Ό μ‚¬μš©ν•˜μ—¬ νŒμ—… νŒ¬μΌ€μ΄ν¬ ν‘Έλ“œ 트럭이 μ•±μœΌλ‘œ 판맀λ₯Ό μΆ”μ ν•˜λŠ” 것을 λ•λŠ” 차트λ₯Ό λ§Œλ“€μ–΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. νŠΈλŸ­μ€ cachapa(카차파), injera(인제라), crepe(ν¬λ ˆμ΄ν”„), jian bing(μ§€μ•ˆλΉ™), dosa(도사), american pancake μ œκ³΅ν•©λ‹ˆλ‹€.

5

ν‘Έλ“œνŠΈλŸ­μ€ μ§€λ‚œ 30일 λ™μ•ˆ 4500개 μ΄μƒμ˜ νŒ¬μΌ€μ΄ν¬λ₯Ό μ œκ³΅ν–ˆμŠ΅λ‹ˆλ‹€. cachapa κ°€ κ°€μž₯ 인기가 μžˆμ—ˆκ³  앱은 이미 제λͺ©μ—μ„œ κ°€μž₯ μ€‘μš”ν•œ 정보λ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

6

μ—¬μ„― 개의 νŒ¬μΌ€μ΄ν¬μ— λŒ€ν•œ μžμ„Έν•œ 뢄석을 λ³΄μ—¬μ£ΌλŠ” 차트λ₯Ό μΆ”κ°€ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

7

Swift Charts μ—μ„œλŠ” κ΅¬μ„±λ³„λ‘œ 차트λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€. λ§‰λŒ€ 차트의 μ£Όμš” ꡬ성 μš”μ†ŒλŠ” bar(λ§‰λŒ€) μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ‹œκ°μ  μš”μ†Œλ₯Ό marks 라고 λΆ€λ¦…λ‹ˆλ‹€. Xcode 둜 μ΄λ™ν•΄μ„œ 차트λ₯Ό λ§Œλ“€μ–΄ λ΄…μ‹œλ‹€.

Jump into Xcode

Charts λ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμœΌλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€. bar λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œ BarMark λ₯Ό Chart μ•ˆμ— μΆ”κ°€ν•©λ‹ˆλ‹€. bar λ₯Ό cachapa 의 μˆ˜λŒ€λ‘œ ν‘œμ‹œν•˜κΈ° μœ„ν•΄μ„œ 이름과 νŒλ§€λŸ‰μ„ μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

μš°λ¦¬λŠ” νŒ¬μΌ€μ΄ν¬μ˜ μ΄λ¦„μ—μ„œ 값이 νŒŒμƒλ˜λ„λ‘ bar 의 xμœ„μΉ˜λ₯Ό μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.

8

.value λ©”μ„œλ“œμ˜ 첫 번째 μΈμˆ˜λŠ” 값에 λŒ€ν•œ μ„€λͺ…이고, 두 번째 μΈμˆ˜λŠ” κ°’ μžμ²΄μž…λ‹ˆλ‹€. 이제 preview 에 단일 λ§‰λŒ€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

9

y μ†μ„±μœΌλ‘œ 판맀된 cachapa 의 μˆ˜κ°€ μ„€μ •λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. .value λ₯Ό μ‚¬μš©ν•˜μ—¬ λ§‰λŒ€μ˜ 길이λ₯Ό λ‚˜νƒ€λ‚΄λŠ” xμΆ•κ³Ό yμΆ•μ˜ λ ˆμ΄λΈ”λ„ μžλ™μœΌλ‘œ μƒμ„±ν•©λ‹ˆλ‹€. 두 번째 λ§‰λŒ€λ₯Ό μΆ”κ°€ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

10

κ°œλ³„ mark λ₯Ό λ§Œλ“€κ³  앱에 ν‘œμ‹œλ˜λŠ” 것을 λ³΄λ‹ˆ μ’‹λ„€μš”! ν•˜μ§€λ§Œ 일반적으둜 ꡬ쑰체 λ°°μ—΄κ³Ό 같은 μ»¬λ ‰μ…˜μœΌλ‘œ κ΅¬λ™λ˜λŠ” 차트λ₯Ό λ§Œλ“€κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ¨Όμ €, νŒ¬μΌ€μ΄ν¬ 판맀λ₯Ό μœ„ν•œ ꡬ쑰체λ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμœΌλ‘œ μ‹œμž‘ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ” 반볡적으둜 μ‚¬μš©ν•˜κ³  μ‹ΆκΈ° λ•Œλ¬Έμ— Identifiable 둜 κ°€λŠ₯ν•˜κ²Œ ν•©λ‹ˆλ‹€. 그리고 name 을 λ°˜ν™˜ν•˜λŠ” id μ—°μ‚° ν”„λ‘œνΌν‹°λ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

11

이제 데이터 μ„ΈνŠΈλ‘œ νŒ¬μΌ€μ΄ν¬ 배열을 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. μ™ΈλΆ€ 데이터 μ†ŒμŠ€μ—μ„œ λ‘œλ“œν•  수 μžˆμ§€λ§Œ μ—¬κΈ°μ„œλŠ” μ½”λ“œμ—μ„œ μ •μ˜ν•˜κ² μŠ΅λ‹ˆλ‹€. cachapa 와 injera 외에 crepe 도 μΆ”κ°€ν•˜κ² μŠ΅λ‹ˆλ‹€. ForEach λ₯Ό μ‚¬μš©ν•˜μ—¬ λ§‰λŒ€ 차트λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

12

ForEach κ°€ 차트의 μœ μΌν•œ 컨텐츠인 경우 데이터λ₯Ό Chart μ΄λ‹ˆμ…œλΌμ΄μ €μ— 직접 넣을 μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이제 jian bing, dosa 및 american pancake 에 λŒ€ν•΄ μΆ”κ°€ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

13

λ ˆμ΄λΈ”λ“€μ΄ μ„œλ‘œ κ°€κΉŒμ›Œμ§€κ³  μžˆλŠ” 것을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. x 와 y λ₯Ό κ΅ν™˜ν•˜μ—¬ 각 bar 에 더 λ§Žμ€ 곡간을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€. Swift Charts ν”„λ ˆμž„μ›Œν¬λŠ” μžλ™μœΌλ‘œ μ μ ˆν•œ μΆ• μŠ€νƒ€μΌμ„ μ„ νƒν•˜μ—¬ 차트λ₯Ό μ•„λ¦„λ‹΅κ²Œ λ§Œλ“­λ‹ˆλ‹€.

14

그리고 Xcode 의 μƒˆλ‘œμš΄ λ³€ν˜• κΈ°λŠ₯을 μ‚¬μš©ν•΄μ„œ 닀크 λͺ¨λ“œμ™€ λ‹€μ–‘ν•œ κΈ€κΌ΄ 크기, μž₯치 크기 및 λ°©ν–₯에 μ μ‘ν•˜κ³  accessibility λ₯Ό μ§€μ›ν•œλ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€.

15

μ‹œκ°μ  ν‘œν˜„μ˜ 데이터에 μ•‘μ„ΈμŠ€ν•˜λ €λ©΄ λ³Ό 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. Swift Charts λŠ” μ‹œκ°ν™”μ˜ 데이터λ₯Ό VoiceOver 에 λ…ΈμΆœν•˜μ—¬ λͺ¨λ“  μ‚¬λžŒμ΄ 인기 μžˆλŠ” νŒ¬μΌ€μ΄ν¬μ˜ 세뢀사항을 탐색할 수 μžˆλ„λ‘ μ œκ³΅ν•©λ‹ˆλ‹€.

μŠ€ν¬λ¦°μƒ· 2022-07-05 μ˜€ν›„ 6 58 18

였λ₯Έμͺ½μœΌλ‘œ μŠ€μ™€μ΄ν”„ν•˜λ©° 순차적으둜 λ§‰λŒ€ κ·Έλž˜ν”„μ˜ 정보λ₯Ό 듀을 수 μžˆλ‹€.

이 μ°¨νŠΈλŠ” Apple 이 2021 에 λ°œν‘œν•œ sonifications(μŒμ–‘ν™”) λ₯Ό ν¬ν•¨ν•˜μ—¬ Audio Graphs λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€.

μŠ€ν¬λ¦°μƒ· 2022-07-05 μ˜€ν›„ 6 59 26

play audio graphs λ₯Ό 톡해 λΉ„ν”„μŒμ˜ 높이에 λ”°λΌμ„œ 정보λ₯Ό 듀을 수 μžˆλ‹€.

μš°λ¦¬λŠ” ν”„λ“œ 트럭 앱에 정보λ₯Ό μ œκ³΅ν•˜κ³  μ ‘κ·Ό κ°€λŠ₯ν•œ 차트λ₯Ό μΆ”κ°€ν•˜κΈ° μœ„ν•΄ Swift Charts λ₯Ό μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€. μ°¨νŠΈλŠ” μ—¬λŸ¬κ°€μ§€ μŠ€νƒ€μΌμ˜ νŒ¬μΌ€μ΄ν¬λ₯Ό μ–Όλ§ˆλ‚˜ νŒλ§€ν–ˆλŠ”μ§€ λ³΄μ—¬μ€λ‹ˆλ‹€.

16

각 μŠ€νƒ€μΌμ— λŒ€ν•œ μš”μ•½ 외에도 ν‘Έλ“œ νŠΈλŸ­μ—λŠ” 일별 판맀 데이터도 μžˆμŠ΅λ‹ˆλ‹€.

17

νŠΈλŸ­μ€ Cupertino 와 San Francisco 에 μ£Όμ°¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” 차트λ₯Ό μ‚¬μš©ν•˜μ—¬ νŒ¬μΌ€μ΄ν¬ 트럭이 주쀑에 μ£Όμ°¨ν•  μœ„μΉ˜λ₯Ό κ²°μ •ν•˜λŠ”λ° 도움이 되고자 ν•©λ‹ˆλ‹€. 이 μ§ˆλ¬Έμ— λ‹΅ν•˜κΈ° μœ„ν•΄ 데이터λ₯Ό 두 λ„μ‹œμ˜ time series λ₯Ό μ‹œκ°ν™”ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

18

μ•žμœΌλ‘œ λ‹€μ–‘ν•œ λ””μžμΈμ„ νƒμƒ‰ν•˜λŠ” 것이 μ–Όλ§ˆλ‚˜ μ‰¬μš΄μ§€ 차트λ₯Ό μ„Έλ²ˆ λ°˜λ³΅ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

19

Bar graph for Cupertino

μš”μΌλ³„λ‘œ 판맀된 νŒμΌ€μ΄ν¬μ˜ 평균 수λ₯Ό λ³΄μ—¬μ£ΌλŠ” bar 차트λ₯Ό λ§Œλ“€κ² μŠ΅λ‹ˆλ‹€.

20

판맀 λ°μ΄ν„°μ—λŠ” λ‚ μ§œλ‘œ μ €μž₯된 μš”μΌκ³Ό νŒλŒ€λœ νŒ¬μΌ€μ΄ν¬μ˜ μˆ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

21

λ‚ μ§œμ—μ„œ νŒŒμƒλ˜λ„λ‘ λ§‰λŒ€μ˜ x μœ„μΉ˜λ₯Ό μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€. νŒλ§€μ—μ„œλΆ€ν„° νŒŒμƒλ˜λ„λ‘ 높이λ₯Ό μ„€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

Add the data for San Francisco, add Picker

두 번째 λ°˜λ³΅μ—μ„œλŠ” San Francisco 데이터λ₯Ό μΆ”κ°€ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. μƒŒν”„λž€μ‹œμŠ€μ½”μ˜ 판맀 λ°μ΄ν„°λŠ” sfData λ³€μˆ˜μ— μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” 두 λ„μ‹œ 사이λ₯Ό toggle ν•˜κ³  각 λ„μ‹œμ— λŒ€ν•œ λ§‰λŒ€ 차트λ₯Ό 보고 μ‹ΆμŠ΅λ‹ˆλ‹€.

state λ³€μˆ˜μ— city λ₯Ό μΆ”κ°€ν•˜λŠ” κ²ƒμœΌλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€.

22

그런 λ‹€μŒ SwiftUI picker λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€. 그리고 데이터λ₯Ό Cupertino 와 San Francisco 사이λ₯Ό μ „ν™˜ν•˜λŠ” λ°μ΄ν„°λ‘œ λ°”κΎΈλŠ” κ²ƒμž…λ‹ˆλ‹€. 토글을 μ „ν™˜ν•˜λ©΄ μ°¨νŠΈκ°€ 두 λ„μ‹œ 간에 μ „ν™˜λ©λ‹ˆλ‹€.

23

Swift Charts λŠ” SwiftUI μ• λ‹ˆλ©”μ΄μ…˜κ³Ό ν•¨κ»˜ μž‘λ™ν•˜λ―€λ‘œ easyInOut 으둜 μ „ν™˜ μ• λ‹ˆλ©”μ΄μ…˜μ„ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

24

Finally, combine the data into one multiseries line chart

λ§ˆμ§€λ§‰ 반볡으둜 두 μ‹œλ¦¬μ¦ˆλ₯Ό λͺ¨λ‘ 꺽은 μ„ ν˜• 차트둜 ν‘œμ‹œν•  κ²ƒμž…λ‹ˆλ‹€. 두 λ„μ‹œμ˜ λ°μ΄ν„°λŠ” 일련의 λ°°μ—΄λ‘œ λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 두 μ‹œλ¦¬μ¦ˆλ₯Ό λͺ¨λ‘ 보여주기 전에 Cupertino 데이터에 쀑점을 λ‘κ² μŠ΅λ‹ˆλ‹€.

25

Chart μ΄λ‹ˆμ…œλΌμ΄μ €λŠ” ForEach 처럼 μž‘λ™ν•  수 μžˆλ‹€κ³  ν–ˆμŠ΅λ‹ˆλ‹€. 그런 λ‹€μŒ Cupertino 에 λŒ€ν•œ νŠΉμ • 데이터λ₯Ό Series 의 sales data 둜 λ°”κΏ€ 수 μžˆμŠ΅λ‹ˆλ‹€.

26

두 λ„μ‹œμ˜ 데이터λ₯Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄μ„œ bar 의 색상을 μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•΄μ„œ Swift Charts λŠ” 차트 μ•„λž˜μ— λ²”λ‘€λ₯Ό λ§Œλ“­λ‹ˆλ‹€.

27

San Francisco 데이터λ₯Ό μΆ”κ°€ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

28

preview μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ Swift Charts λŠ” μžλ™μœΌλ‘œ San Francisco μ˜μƒ‰μƒμ„ μ •ν•©λ‹ˆλ‹€.

Charts μ—λŠ” νŠΉμ • μ»¨ν…μŠ€νŠΈμ— λŒ€ν•œ 데이터가 ν‘œμ‹œλ˜λ©° λ°μ΄ν„°λ‚˜ 질문이 λ³€κ²½λ˜λ©΄ μ‹œκ°ν™”λ„ λ³€κ²½ν•΄μ•Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€. Swift Charts λŠ” λΉ λ₯΄κ²Œ λ³€κ²½ν•˜μ—¬ λ‹€μ–‘ν•œ λ””μžμΈμ„ 탐색할 수 μžˆλ„λ‘ ν•΄μ€λ‹ˆλ‹€. stacked bar chart(λˆ„μ  λ§‰λŒ€ν˜• 차트)λŠ” ν•˜λ£¨ 평균 총 νŒλ§€μ•‘μ„ ν‘œμ‹œν•˜λŠ”λ° μ ν•©ν•©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, 두 λ„μ‹œλ₯Ό λΉ„κ΅ν•˜κ³  μ‹Άλ‹€λ©΄ point λ˜λŠ” line chart κ°€ 더 λ‚˜μ„ κ²ƒμž…λ‹ˆλ‹€. mark type 을 BarMark μ—μ„œ PointMark 둜 λ³€κ²½ν•˜κ±°λ‚˜ LineMark 둜 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

29 30

μ°¨νŠΈλŠ” μ—¬λŸ¬ mark λ₯Ό κ²°ν•©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ PointMark λ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

31

series λ₯Ό 색상 없이 ꡬ뢄할 수 μžˆλ„λ‘ λ„μ‹œμ—μ„œ νŒŒμƒλœ symbol 을 μ„€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

32

이제 각 점은 색상과 기호둜 λ„μ‹œλ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 선에 점을 ν‘œμ‹œν•˜λŠ” 것이 일반적이기 λ•Œλ¬Έμ— Swift Charts λŠ” LineMark 에 symbol modifier λ₯Ό μ μš©ν•˜λŠ” μΆ•μ•½ν˜•μ΄ μžˆμŠ΅λ‹ˆλ‹€. 점의 μŠ€νƒ€μΌμ€ 선에 맞게 μ‘°μ •λ©λ‹ˆλ‹€.

33

이 μ°¨νŠΈλŠ” ν›Œλ₯­ν•©λ‹ˆλ‹€. 일주일 λ™μ•ˆμ˜ 판맀 νŠΈλžœλ“œλ₯Ό μ‰½κ²Œ 비ꡐ할 수 μžˆμŠ΅λ‹ˆλ‹€.

Swift Charts λ₯Ό μ‚¬μš©ν•˜μ—¬ 쉽고 λΉ λ₯΄κ²Œ λ°˜λ³΅ν•˜λŠ” λ™μ‹œμ— 차트λ₯Ό μ•±μ˜ κ³ μœ ν•œ μŠ€νƒ€μΌμ— λ§€λ„λŸ½κ²Œ 톡합할 수 μžˆμ„ 만큼 μœ μ—°ν•˜κ²Œ λ§Œλ“œλŠ” 방법에 λŒ€ν•΄μ„œ λ‹€μ‹œ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

Swift μ—μ„œλŠ” Mark Properties κ°€ μžˆλŠ” Marks κ΅¬μ„±μœΌλ‘œ 차트λ₯Ό μž‘μ—…ν•©λ‹ˆλ‹€. Pancake app μ—μ„œ 3개의 λ‹€λ₯Έ mark 와 4개의 mark properteis 둜 차트λ₯Ό κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

34

예λ₯Ό λ“€μ–΄ x μΆ•κ³Ό y 좕이 μžˆλŠ” bar mak 둜 κ°„λ‹¨ν•œ λ§‰λŒ€ 차트λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

35

λ˜ν•œ, points λ˜λŠ” line charts 처럼 λ””μžμΈμ„ λΉ λ₯΄κ²Œ 탐색할 수 μžˆμŠ΅λ‹ˆλ‹€.

μŠ€ν¬λ¦°μƒ· 2022-07-05 μ˜€ν›„ 7 07 08

λ˜ν•œ, foregroundStyle κ³Ό 같은 속성을 μΆ”κ°€ν•΄μ„œ line chart 의 multiple series λ₯Ό 보여쀄 수 μžˆμŠ΅λ‹ˆλ‹€.

36

그리고 chart λŠ” ν•˜λ‚˜μ˜ mark 만 κ°€μ§ˆ ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” points 와 lines λ₯Ό μ‘°ν•©ν–ˆμŠ΅λ‹ˆλ‹€.

37

Swift Charts λŠ” 였늘 μ‚¬μš©ν•˜λŠ” 것보닀 훨씬 더 λ§Žμ€ marks 와 mark properties λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. λ˜ν•œ, ν™•μž₯ κ°€λŠ₯ν•˜λ©° μ»€μŠ€ν…€ marks λ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

38

marks 와 mark properties λŠ” 적은 수의 devlarative building blocks 으둜 κ΄‘λ²”μœ„ν•œ 차트 λ””μžμΈμ„ ν‘œν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

39

μ΄λŸ¬ν•œ building block 을 μ‘°ν•©ν•˜μ—¬ 더 κ±°λŒ€ν•œ λ°μ΄ν„°μ˜ μ‹œκ°ν™”λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

그리고 이미 λ³΄μ—¬λ“œλ¦° 것 처럼 dark mode, different device screen sizes, Dynamic Type, VoiceOver 그리고 Audio Graphs λ₯Ό 무료둜 μ§€μ›ν•©λ‹ˆλ‹€. μΆ”κ°€λ‘œ High-Contrast mode(accessibility λŒ€λΉ„ μ„€μ •) λ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ Swift Charts λŠ” μ—¬λŸ¬ locale λ“€μ—μ„œ μž‘λ™ν•˜λ©° multiplatform μž…λ‹ˆλ‹€. λ™μΌν•œ μ½”λ“œλŠ” Apple ν”Œλž«νΌλ“€μ—μ„œ λͺ¨λ‘ μž‘λ™ν•©λ‹ˆλ‹€. λ™μΌν•œ customizations κ°€ λͺ¨λ“  κ³³μ—μ„œ λ™μž‘ν•˜λ―€λ‘œ 각 ν”Œλž«νΌμ— 맞게 μ‘°μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

40 41