scatter() ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฐ์ ๋ ๊ทธ๋ฆฌ๊ธฐ
์ ์ฝ๋๋ ํ์ด์ฌ์ Matplotlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฐํฌ๋(์ฐ์ ๋)๋ฅผ ๊ทธ๋ฆฌ๋ ์์์ด๋ค. ์ฐํฌ๋๋ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ์๊ฐํํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฌ๊ธฐ์๋ x์ถ์๋ 1, 2, 3, 4๋ฅผ, y์ถ์๋ 10, 30, 20, 40์ ๋ํ๋ด๋ ๋ค ๊ฐ์ ์ ์ ํ์ํ๋ค.
import matplotlib.pyplot as plt
# x์ถ ๋ฐ์ดํฐ
x_values = [1, 2, 3, 4]
# y์ถ ๋ฐ์ดํฐ
y_values = [10, 30, 20, 40]
# ์ฐํฌ๋ ๊ทธ๋ฆฌ๊ธฐ
plt.scatter(x_values, y_values)
# ๊ทธ๋ํ ๋ณด์ด๊ธฐ
plt.show()
scatter ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ ์ต์
์ ์ฝ๋์์ ์ฌ์ฉ๋ scatter() ํจ์๋ Matplotlib์ ์ฐํฌ๋๋ฅผ ๊ทธ๋ฆฌ๋ ํจ์์ด๋ค. ์ด ํจ์์๋ ์ฌ๋ฌ ์ต์ ์ด ์๋ค. ๊ทธ ์ค ํ๋๋ 's'๋ผ๋ ์ต์ ์ผ๋ก, ๋ง์ปค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ ์ต์ ์ด๋ค. ์ฌ๊ธฐ์ 's=None'์ผ๋ก ์ค์ ๋์ด ์์ผ๋ฏ๋ก ๋ง์ปค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์๋ค. ์ด ๊ฒฝ์ฐ์๋ ๋ง์ปค์ ๊ธฐ๋ณธ ํฌ๊ธฐ๊ฐ ์ฌ์ฉ๋๋ค. ์๋ฅผ ๋ค์ด, 's=100'๊ณผ ๊ฐ์ด ์ค์ ํ๋ฉด ๋ง์ปค์ ํฌ๊ธฐ๊ฐ 100์ด ๋๋ค. ๋ง์ปค์ ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์์ผ๋ฏ๋ก ๊ธฐ๋ณธ๊ฐ์ด ์ฌ์ฉ๋๋ค.
์์๊ณผ ํฌ๊ธฐ๋ก ํํ๋ ์ฐ์ ๋
scatter() ํจ์์ ๋ ๋ค๋ฅธ ์ต์ ์ธ 'c'๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ง์ปค์ ์์์ ์ง์ ํ๋ค. 'c' ์ต์ ์ ๋ง์ปค์ ์์์ ์ง์ ํ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ๋ค:
import matplotlib.pyplot as plt
plt.scatter([1,2,3,4], [10,30,20,40], s = [100,200,300,400], c=['red','blue', 'green', 'gold'])
plt.show()
๋ฒ๋ธ ์ฐจํธ ๊ทธ๋ฆฌ๊ธฐ
Matplotlib๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ๋ธ ์ฐจํธ๋ฅผ ๊ทธ๋ฆฌ๊ณ ์๋ค. ๋ฒ๋ธ ์ฐจํธ๋ ์ฐ์ ๋์ ์ ์ฌํ์ง๋ง, ๊ฐ ์ ์ ํฌ๊ธฐ๊ฐ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋๋ฐ ์ฌ์ฉ๋๋ค.
import matplotlib.pyplot as plt
# ์ฐ์ ๋ ๋ฐ์ดํฐ ์ค์
x_values = [1, 2, 3, 4]
y_values = [10, 30, 20, 40]
sizes = [100, 200, 300, 400] # ๋ง์ปค์ ํฌ๊ธฐ
colors = range(4) # ์ปฌ๋ฌ ๋ฐ์ ์ฌ์ฉ๋ ์์
# ๋ฒ๋ธ ์ฐจํธ ๊ทธ๋ฆฌ๊ธฐ
plt.scatter(x_values, y_values, s=sizes, c=colors)
# ์ปฌ๋ฌ ๋ฐ ์ถ๊ฐ
plt.colorbar()
plt.show()
์ ์ฝ๋์์๋ c=range(4)๋ก ์ปฌ๋ฌ ๋ฐ์ ์ฌ์ฉ๋ ์์์ ์๋์ผ๋ก ์ง์ ํ๋ค. ์ปฌ๋ฌ ๋ฐ๋ ๋ฐ์ดํฐ์ ๋ฒ์๋ฅผ ๋ํ๋ด๋๋ฐ ์ฌ์ฉ๋๋ค. ์ด๊ฒ์ผ๋ก ๊ฐ ๋ฐ์ดํฐ ํฌ์ธํธ๊ฐ ์ด๋ค ๋ฒ์์ ์ํ๋์ง ์๊ฐ์ ์ผ๋ก ํ์ ํ ์ ์๋ค.
์๊ณผ ํฌ๊ธฐ๋ก ํํ๋ ๋ฒ๋ธ ์ฐจํธ
cmap ์ต์ ์ ์ฌ์ฉํ์ฌ ์ปฌ๋ฌ๋งต์ ์ง์ ํ๋ค. ์ปฌ๋ฌ๋งต์ ๋ฐ์ดํฐ์ ๊ฐ์ ์์์ผ๋ก ๋ณํํด์ฃผ๋๋ฐ ์ฌ์ฉ๋๋ค. ์ฌ๊ธฐ์๋ 'jet'์ด๋ผ๋ ์ปฌ๋ฌ๋งต์ ์ฌ์ฉํ๋ค. 'jet' ์ปฌ๋ฌ๋งต์ ๋ฐ์ดํฐ์ ๊ฐ์ ์๊ฐ์ ์ผ๋ก ์ ๊ตฌ๋ณํ ์ ์๋ ๋ ์ธ๋ณด์ฐ ์ปฌ๋ฌ๋ก ํํํ๋ค.
import matplotlib.pyplot as plt
plt.scatter([1,2,3,4], [10,30,20,40], s = [100,200,300,400], c=range(4), cmap='jet')
plt.colorbar()
plt.show()
๊ทธ๋ํ์์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ง์ปค์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅด๊ณ , colors์ ๋ฐ๋ผ ์์์ด ๋ณํ๋ค. ์ปฌ๋ฌ ๋ฐ๋ ์ด ์์์ ํ์ํ๋ฉฐ, ์ปฌ๋ฌ๋งต์ ์ด๋ฌํ ๊ฐ์ ์ด๋ป๊ฒ ์์์ผ๋ก ๋ณํํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ค.