CodeGym /์ž๋ฐ” ์ฝ”์Šค /Python SELF KO /๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์ž…๋ฌธ ๋ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ Matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์ž…๋ฌธ ๋ฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ Matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ๊ฐœ

Python SELF KO
๋ ˆ๋ฒจ 41 , ๋ ˆ์Šจ 0
์‚ฌ์šฉ ๊ฐ€๋Šฅ

1. ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๊ฐ€ ์™œ ํ•„์š”ํ• ๊นŒ?

์šฐ๋ฆฌ ํ•œ๋ฒˆ ์งˆ๋ฌธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด์ž: ๋„๋Œ€์ฒด ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๊ฐ€ ์™œ ํ•„์š”ํ•œ ๊ฑฐ์ง€? ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋Œ€ํšŒ์— ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•ด๋ณด์ž. ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ ๋Œ€์‹ , ์ˆ˜์ฒœ ์ค„์˜ ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•˜์–ด. ์‹ฌ์ง€์–ด ๊ฒฝํ—˜ ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋„ ์ด๋Ÿฐ ์ƒํ™ฉ์€ ์ •๋ง ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๊ณ  ์ง€๋ฃจํ•  ๊ฑฐ์•ผ. ์‹œ๊ฐํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ˆˆ์œผ๋กœ ๋ณด๊ณ  ๊ทธ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜.

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ž˜ํ”„์™€ ์ฐจํŠธ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•˜์—ฌ ๋ณต์žกํ•œ ์ •๋ณด๋ฅผ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ๋ฐ์ดํ„ฐ ๊ณผํ•™์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด์•ผ. ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ํŠธ๋ Œ๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜๊ณ , ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•˜๋ฉฐ, ๋” ๋‚˜์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์–ด. Python์—์„œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ์œ„ํ•ด ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋Š” Matplotlib์ด์•ผ. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค˜.

๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„์›€์„ ์ค˜:

  • ํŒจํ„ด๊ณผ ํŠธ๋ Œ๋“œ๋ฅผ ์ดํ•ดํ•˜๊ธฐ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‹œ์ฆŒ๋ณ„๋กœ ์šฐ๋ฆฌ ๋ ˆ๋ชจ๋„ค์ด๋“œ ํŒ๋งค๋Ÿ‰์˜ ๋ณ€ํ™”๋ฅผ ์•Œ ์ˆ˜ ์žˆ์–ด!
  • ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜๊ธฐ. ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด ํ•œ ์ฃผ ๋™์•ˆ ์–ด๋–ค ๊ณ ์–‘์ด๊ฐ€ ๋” ๋งŽ์€ ์‚ฌ๋ฃŒ๋ฅผ ๋จน์—ˆ๋Š”์ง€ ๋ฐ”๋กœ ๋ณผ ์ˆ˜ ์žˆ์–ด.
  • ๋ณต์žกํ•œ ์ •๋ณด๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ. ๋ฐ์ดํ„ฐ๋ฅผ ์ปดํ“จํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ์‚ฌ๋‚˜ ์‹ฌ์ง€์–ด ํ• ๋จธ๋‹ˆ์—๊ฒŒ๋„ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์–ด.

์‹ค์งˆ์  ํ™œ์šฉ

๋ง๋กœ๋งŒ ํ•˜์ง€ ๋ง๊ณ  ์ง„์งœ ์˜ˆ์‹œ ๋ช‡ ๊ฐ€์ง€ ๋ณด์—ฌ์ค„๊ฒŒ:

  • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ๋ถ„์„: ํšŒ์‚ฌ๋“ค์ด ๊ทธ๋ž˜ํ”„๋ฅผ ์‚ฌ์šฉํ•ด ํŒ๋งค๋Ÿ‰, ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ์ž ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์ง€ํ‘œ๋“ค์„ ์ถ”์ ํ•ด.
  • ์นดํ…Œ๊ณ ๋ฆฌ ๋น„๊ต: ํŒŒ์ด ์ฐจํŠธ(pie charts)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ œํ’ˆ์ด ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š”์ง€ ์‰ฝ๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์–ด.
  • ๊ณผํ•™์  ์—ฐ๊ตฌ: ์‹œ๊ฐํ™”๋Š” ๊ณผํ•™์ž๋“ค์ด ๋Œ€๋Ÿ‰์˜ ์‹คํ—˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค˜.

์ด์ œ ์•Œ๊ฒ ์ง€? ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์•ผ. ๋„ˆ๋Š” ์ด๊ฒƒ๊ณผ ์นœํ•ด์ ธ์•ผ ํ•ด.

2. Matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

์ด์ œ ์‹œ๊ฐํ™”์˜ ์ค‘์š”์„ฑ์„ ์ดํ•ดํ–ˆ์œผ๋‹ˆ, Matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ดํŽด๋ณด์ž. Python์—์„œ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์•ผ. ์ด๊ฑธ๋กœ ์‹ฌ์ง€์–ด ๋ฐ˜ ๊ณ ํ ๊ทธ๋ฆผ์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์–ด. ๋†๋‹ด์ด์•ผ, ํ•˜์ง€๋งŒ ๋„ˆ์˜ ๊ทธ๋ž˜ํ”„๋Š” ๋ถ„๋ช… ์ตœ๊ณ ์ผ ๊ฑฐ์•ผ!

Matplotlib์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์•ผ. ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ทธ๋ž˜ํ”„์™€ ์ฐจํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ด. ์„ ํ˜• ๊ทธ๋ž˜ํ”„, ํžˆ์Šคํ† ๊ทธ๋žจ, ์›ํ˜• ์ฐจํŠธ, ์‚ฐ์ ๋„ ๋“ฑ ๊ฑฐ์˜ ๋ชจ๋“  ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด. Matplotlib์€ ํŠนํžˆ ๊ณผํ•™๊ณผ ๊ณตํ•™ ๋ถ„์•ผ, ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋น„์ฆˆ๋‹ˆ์Šค ๋ณด๊ณ ์„œ์— ์œ ์šฉํ•ด.

Matplotlib ์ฃผ์š” ๊ธฐ๋Šฅ

Matplotlib๋กœ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„์™€ ์ฐจํŠธ๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์–ด:

  • ์„ ํ˜• ๊ทธ๋ž˜ํ”„ (Line Charts)
  • ํžˆ์Šคํ† ๊ทธ๋žจ (Histograms)
  • ์›ํ˜• ์ฐจํŠธ (Pie Charts)
  • ๋ง‰๋Œ€ ์ฐจํŠธ (Bar Charts)
  • ๊ทธ๋ฆฌ๊ณ  ๋” ๋งŽ์€ ๊ฒƒ๋“ค!

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ •๋ง ๋งŽ์€ ๊ฑธ ํ•  ์ˆ˜ ์žˆ์–ด. ์‚ฌ์šฉํ•˜๊ธฐ ๊ฐ„๋‹จํ•˜์ง€๋งŒ, ์—„์ฒญ๋‚˜๊ฒŒ ๊ฐ•๋ ฅํ•ด.

์•ฝ๊ฐ„์˜ ์—ญ์‚ฌ

Matplotlib์€ 2003๋…„์— John Hunter ๋•๋ถ„์— ํƒ„์ƒํ–ˆ์–ด. ๊ทธ๋Š” ์‹ ๊ฒฝ ์‹œ๊ฐํ™”์— ํ•„์š”ํ•ด์„œ ๊ฐœ๋ฐœํ–ˆ๋Š”๋ฐ, ๊ณผํ•™์„ ๋„˜์–ด ๊ทธ ๊ฐ€๋Šฅ์„ฑ์ด ํฌ๊ฒŒ ํ‰๊ฐ€๋ฐ›์•˜์–ด.

3. Matplotlib ์„ค์น˜

๋งŒ์•ฝ ๋„ˆ์˜ ์ปดํ“จํ„ฐ์— Anaconda๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๋ฉด, ์ถ•ํ•˜ํ•ด! Matplotlib์€ ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์„ ํ™•๋ฅ ์ด ๋†’์•„. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด, pip์„ ์‚ฌ์šฉํ•ด ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์–ด:

Bash
pip install matplotlib

์„ฑ๊ณต์ ์œผ๋กœ ์„ค์น˜ํ–ˆ๋‹ค๋ฉด ์ž‘๋™ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ด๋ณด์ž:

Python

import matplotlib.pyplot as plt

# ์„ค์น˜ ํ™•์ธ์„ ์œ„ํ•œ ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
plt.xlabel('x')
plt.ylabel('y')
plt.title('ํ…Œ์ŠคํŠธ ๊ทธ๋ž˜ํ”„')
plt.show()
            

๊ทธ๋ž˜ํ”„๊ฐ€ ๋ณด์ด๋ฉด, ์ถ•ํ•˜ํ•ด! ์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋งˆ๋ฒ•์„ ๋ถ€๋ฆด ์ค€๋น„๊ฐ€ ๋์–ด!

4. Matplotlib์˜ ํ•ต์‹ฌ ๊ฐœ๋…

Matplotlib์€ ๊ทธ๋ž˜ํ”„๋ฅผ ์œ„ํ•œ ์กฐ๋ฆฝ ํ‚คํŠธ ๊ฐ™์•„. ๋จผ์ € ์บ”๋ฒ„์Šค(figure)๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ์œ„์— ์š”์†Œ(axes)๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ทธ๋ฆฌ๋Š” ๊ฑฐ์•ผ. ์ตœ์ข…์ ์œผ๋กœ ๊ทธ๋ž˜ํ”„(figure)๊ฐ€ ์ƒ์„ฑ๋˜๊ณ , ์„ธ๋ถ€ ์„ค์ •๋„ ๊ฐ€๋Šฅํ•ด.

Pyplot์™€ figure

Matplotlib ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” pyplot๋ฅผ ํ†ตํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋ผ. ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ฐ„ํŽธํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ•˜์œ„ ๋ชจ๋“ˆ์ด์•ผ. pyplot ๋•๋ถ„์— ๊ทธ๋ž˜ํ”„๋ฅผ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ  ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด.

matplotlib.pyplot ๋ชจ๋“ˆ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋ผ:

  • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”.
  • ๋‹ค๋ฅธ ์นดํ…Œ๊ณ ๋ฆฌ ๊ฐ’ ๋น„๊ต.
  • ๋ฐ์ดํ„ฐ ๋ถ„ํฌ ๋ถ„์„.

์ด์ œ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์•Œ์•˜์œผ๋‹ˆ, ์—ฐ์Šต์— ๋“ค์–ด๊ฐ€ ๋ณด์ž. ๊ฐ„๋‹จํ•œ ์„ ํ˜• ๊ทธ๋ž˜ํ”„, ํžˆ์Šคํ† ๊ทธ๋žจ, ์›ํ˜• ์ฐจํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด์ž.

๊ธฐ์–ตํ•ด, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” ์œ ์šฉํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์žฌ๋ฏธ์žˆ์–ด! ๋ฐ์ดํ„ฐ ๋ถ„์„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๋ฉ‹์ง„ ์ž‘ํ’ˆ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„ ๊ฑฐ์•ผ.

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION