Python

[python] ์ฃผ์‚ฌ์œ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•œ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ๊ธฐ - Matplotlib ํ™œ์šฉ

hyonie 2024. 5. 12. 10:57
 

 


Matplotlib์„ ์‚ฌ์šฉํ•˜์—ฌ ํžˆ์Šคํ† ๊ทธ๋žจ ๊ทธ๋ฆฌ๊ธฐ 

ํžˆ์Šคํ† ๊ทธ๋žจ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๊ฐ„(๋˜๋Š” ๋ฒ”์ฃผ)์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ๊ตฌ๊ฐ„์— ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๋นˆ๋„์ˆ˜๋ฅผ ๋ง‰๋Œ€๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

์ด๋ ‡๊ฒŒ ๊ตฌ๊ฐ„๋ณ„ ๋นˆ๋„์ˆ˜๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

import matplotlib.pyplot as plt
plt.hist([1,2,3,4,5,6,7,8,9])
plt.show()

 

  • `plt.hist()` : ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ๊ทธ๋ฆฐ๋‹ค.

 

 

๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’๋“ค์˜ ๋ถ„ํฌ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ํ‘œ์‹œ

 


์ฃผ์‚ฌ์œ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

 

ํŒŒ์ด์ฌ์˜ matplotlip ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์‚ฌ์œ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

  • ์ฃผ์‚ฌ์œ„๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๊ตด๋ ค์„œ ๋‚˜์˜ค๋Š” ์ˆซ์ž๋ฅผ ๊ธฐ๋กํ•œ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋‚˜์˜ค๋Š” ๊ฐ ์ˆซ์ž์˜ ๋นˆ๋„๋ฅผ ํ™•์ผํ• ์ˆ˜ ์žˆ๋‹ค.

 


 

 ์ฝ”๋“œ ์ž‘์„ฑ

import matplotlib.pyplot as plt
import random

# ๊ฒฐ๊ณผ ๊ธฐ๋ก์„ ์œ„ํ•œ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
dice = []

# ์ฃผ์‚ฌ์œ„๋ฅผ 1000๋ฒˆ ๊ตด๋ ค์„œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก
for i in range(1000):
  dice.append(random.randint(1,6))

print(dice)

# ๊ฒฐ๊ณผ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ์‹œ๊ฐํ™”
plt.hist(dice, bins = 6)
plt.show()

 

 

์œ„ ์ฝ”๋“œ๋Š” ์ฃผ์‚ฌ์œ„๋ฅผ 1000๋ฒˆ ๊ตด๋ ค์„œ ๋‚˜์˜ค๋Š” ๊ฒฐ๊ณผ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ๊ทธ๋ฆฌ๋Š” ์˜ˆ์‹œ์ด๋‹ค. `random.randint(1,6)` ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ๊ธˆ์„ ๋‚˜ํƒ€๋‚ด๋Š” 1์—์„œ 6 ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์ •์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ plt.hist() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ์‹œ๊ฐํ™”ํ•œ๋‹ค. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๊ฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ค๋Š” ๋นˆ๋„๋ฅผ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 


 

๊ฐ„๋‹จํ•œ range() ํ•จ์ˆ˜์˜ ๊ธฐ๋ณธ ๋™์ž‘

 

์˜ค๋ฒ„๋กœ๋”ฉ๋œ ํ•จ์ˆ˜๋Š” stop ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ƒ์„ฑํ•˜๋ ค๋Š” ์ •์ˆ˜ ์‹œํ€€์Šค์˜ ๋์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์ž‘๊ฐ’์€ 0์ด๋ฉฐ, ๊ฐ„๊ฒฉ์€ 1์ด๋‹ค. ๋”ฐ๋ผ์„œ range(stop)์„ ํ˜ธ์ถœํ•˜๋ฉด 0๋ถ€ํ„ฐ stop ์ง์ „๊นŒ์ง€์˜ ์ •์ˆ˜ ์‹œํ€€์Šค๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ฃผ์–ด์ง„ stop ๊ฐ’์€ ์‹œํ€€์Šค์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 

 

 

 


 

์ฃผ์‚ฌ์œ„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ํ†ตํ•œ ํžˆ์Šคํ† ๊ทธ๋žจ ๋ถ„์„

 

์ฃผ์‚ฌ์œ„๋ฅผ 1000๋ฒˆ ๋Œ๋ ค์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด ๋นˆ ๋ฆฌ์ŠคํŠธ dice๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ, 1000๋ฒˆ ๋™์•ˆ ์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ ค์„œ ๋‚˜์˜จ ๋žœ๋คํ•œ ์ˆซ์ž๋ฅผ dice ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค. ์ดํ›„์—๋Š” dice ๋ฆฌ์ŠคํŠธ์— ๋‹ด๊ธด 1000๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ด์–ด์„œ, ์ฃผ์‚ฌ์œ„๋ฅผ ์ฒœ ๋ฒˆ ๊ตด๋ ธ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด dice = []๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋น„์›Œ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋˜ 1000๋ฒˆ์˜ ์ฃผ์‚ฌ์œ„ ๊ตด๋ฆฌ๊ธฐ๋ฅผ ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ dice ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค. 

 

๋งˆ์ง€๋ง‰์œผ๋กœ, dice ๋ฆฌ์ŠคํŠธ์— ์ €์žฅ๋œ ๊ฒฐ๊ณผ๋ฅผ ํžˆ์Šคํ† ๊ทธ๋žจ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.  ์ด๋•Œ, ์ฃผ์‚ฌ์œ„์˜ ๋ˆˆ๊ธˆ์ด x์ถ•์—, ํ•ด๋‹น ๋ˆˆ๊ธˆ์ด ๋‚˜์˜จ ํšŸ์ˆ˜๊ฐ€ y์ถ•์— ํ‘œ์‹œ๋œ๋‹ค.

 

 

 


 

์ฃผ์‚ฌ์œ„ ๋žจ๋˜ ํšŸ์ˆ˜ ์ฆ๊ฐ€ ๋”ฐ๋ฅธ ๊ท ๋“ฑํ™”

 

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

 

์ฃผ์‚ฌ์œ„์˜ ๋žœ๋ค ํšŸ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ์„œ ๊ฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์ด ๋” ์ •ํ™•ํ•˜๊ฒŒ 6๋ถ„์˜ 1์— ๊ทผ์ ‘ํ•ด๊ฐ„๋‹ค. ๋”ฐ๋ผ์„œ, ์ฃผ์‚ฌ์œ„๋ฅผ ๋” ๋งŽ์ด ๊ตด๋ฆด์ˆ˜๋ก ์šฐ๋ฆฌ๋Š” ๊ฐ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์„ ๋” ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค.