์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Android
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- streamlit
- ์น๋์๋ณด๋ ์ ์
- ์๋ฐ๊ธฐ์ด
- serverless
- JavaScript
- MySQL
- ์น๋์๋ณด๋ ๊ธฐ์ด
- Streamlit๊ธฐ์ด
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- ์๋๋ก์ด๋ ์คํ๋์ค
- ์๋ฐ๊ณต๋ถ
- ์๋ฐ์ด๋ณด
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ์ด์ฌ
- ํ๋ค์ค
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- db
- ํ๋ค์ค๊ณต๋ถ
- java
- ์คํธ๋ฆผ๋ฆฟ
- Pandas
- ํ์ด์ฌ๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ์๋ฐ
- Flutter
- RESTful API
- Streamlit๊ธฐ๋ณธ
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- Today
- Total
ruriruriya
[Python] ํ์ด์ฌ ๋งทํ๋กฏ๋ฆฝ(Matplotlib) - ๋ผ์ธ ์ฐจํธ ๋ง๋ค๊ณ ์ ์ฅํ๊ณ ๋ณด์ฌ์ฃผ๊ธฐ / plot(), savefig(),show() ๋ณธ๋ฌธ
[Python] ํ์ด์ฌ ๋งทํ๋กฏ๋ฆฝ(Matplotlib) - ๋ผ์ธ ์ฐจํธ ๋ง๋ค๊ณ ์ ์ฅํ๊ณ ๋ณด์ฌ์ฃผ๊ธฐ / plot(), savefig(),show()
๋ฃจ๋ฆฌ์ผใ 2023. 11. 20. 22:43
Matplotlib๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ๋ผ์ธ ์ฐจํธ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. ๋จผ์ , ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ plt.plot() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด, x์ y ๊ฐ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์.
๋จผ์ Matplotlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ import ํ๋ค.
๊ทธ๋ฆฌ๊ณ numpy ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ import ํด์ค๋ค.
์๋ ์์ ์ ํ์ฉ๋ x์ y์ ๊ฐ์ numpy์ arange ํจ์๋ก array ํํ๋ก ์์ฑํ๋ค.
>> import matplotlib.pyplot as plt
>> import numpy as np
>> x = np.arange(0,10+1)
>> x
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>> y = np.arange(0,10+1)
>> y
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
1. plot() ํจ์
plot() ํจ์๋ Matplotlib์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํจ์ ์ค ํ๋๋ก, ๊ทธ๋ํ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์๋ค.
- x: x ์ถ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ๋ค.
- y: y ์ถ์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธํ๋ค.
plot() ํจ์๋ฅผ ํธ์ถํ๋ฉด ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ธ ์ฐจํธ๋ฅผ ์์ฑํ๋ค. ์ฌ๊ธฐ์ ๋ค์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์, ์คํ์ผ, ๋ง์ปค ๋ฑ์ ์กฐ์ ํ ์ ์๋ค.
>> plt.plot(x,y)
2.savefig() ํจ์
savefig() ํจ์๋ Matplotlib๋ก ์์ฑํ ๊ทธ๋ํ๋ฅผ ์ด๋ฏธ์ง ํ์ผ๋ก ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
>> plt.plot(x,y)
>> plt.savefig('firstchart.jpg')
- 'my_plot.png': ์ ์ฅํ ํ์ผ์ ๊ฒฝ๋ก์ ์ด๋ฆ์ ์๋ฏธํ๋ค. ์ฌ๊ธฐ์ ํ์ฅ์๋ฅผ ํตํด ์ ์ฅ๋ ์ด๋ฏธ์ง ํ์์ ์ง์ ํ ์ ์๋ค. (์: .png, .jpg ๋ฑ).
savefig() ํจ์๋ฅผ ํธ์ถํ๋ฉด ํ์ฌ ๊ทธ๋ํ๋ฅผ ์ง์ ํ ๊ฒฝ๋ก์ ์ด๋ฏธ์ง ํ์ผ๋ก ์ ์ฅํ๋ค. ์ด๋ฏธ์ง ํ์์ ํ์ฅ์์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ค.
์ฐจํธ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ
ํด๋น ํ์ผ์ด ์๋ ๊ณณ์ ๋ฐ๋ก ์ ์ฅ๋๋ค.
3. show() ํจ์
show() ํจ์๋ Matplotlib๋ก ์์ฑํ ๊ทธ๋ํ๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
show() ํจ์๋ฅผ ํธ์ถํ๋ฉด ๊ทธ๋ํ๊ฐ ์ถ๋ ฅ๋๋ฉฐ, Jupyter Notebook์์๋ ์
์ ์ง์ ํ๋กฏ์ด ํ์๋๊ณ ์ผ๋ฐ์ ์ธ Python ์คํฌ๋ฆฝํธ์์๋ ๋ณ๋์ ์ฐฝ์ ๊ทธ๋ํ๊ฐ ํ์๋๋ค.
์ด๋ฒ์ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด ๋ผ์ธ์ฐจํธ๋ฅผ ๋ง๋ค์ด๋ณธ๋ค.
์ด ๋ numpy ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ sin() ํจ์๋ ์ฌ์ธ(sin) ํจ์๋ฅผ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ํจ์๋ ๋ํ์ด์ ์์๋ณ(element-wise) ์ฌ์ธ ๊ฐ์ ๋ฐํํ๋ค.
>> x= np.arange(0,10,0.1)
>> x
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,
5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4,
6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7,
7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. ,
9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9])
>> y = np.sin(x)
>> y
array([ 0. , 0.09983342, 0.19866933, 0.29552021, 0.38941834,
0.47942554, 0.56464247, 0.64421769, 0.71735609, 0.78332691,
0.84147098, 0.89120736, 0.93203909, 0.96355819, 0.98544973,
0.99749499, 0.9995736 , 0.99166481, 0.97384763, 0.94630009,
0.90929743, 0.86320937, 0.8084964 , 0.74570521, 0.67546318,
0.59847214, 0.51550137, 0.42737988, 0.33498815, 0.23924933,
0.14112001, 0.04158066, -0.05837414, -0.15774569, -0.2555411 ,
-0.35078323, -0.44252044, -0.52983614, -0.61185789, -0.68776616,
-0.7568025 , -0.81827711, -0.87157577, -0.91616594, -0.95160207,
-0.97753012, -0.993691 , -0.99992326, -0.99616461, -0.98245261,
-0.95892427, -0.92581468, -0.88345466, -0.83226744, -0.77276449,
-0.70554033, -0.63126664, -0.55068554, -0.46460218, -0.37387666,
-0.2794155 , -0.1821625 , -0.0830894 , 0.0168139 , 0.1165492 ,
0.21511999, 0.31154136, 0.40484992, 0.49411335, 0.57843976,
0.6569866 , 0.72896904, 0.79366786, 0.85043662, 0.8987081 ,
0.93799998, 0.96791967, 0.98816823, 0.99854335, 0.99894134,
0.98935825, 0.96988981, 0.94073056, 0.90217183, 0.85459891,
0.79848711, 0.7343971 , 0.66296923, 0.58491719, 0.50102086,
0.41211849, 0.31909836, 0.22288991, 0.12445442, 0.02477543,
-0.07515112, -0.17432678, -0.27176063, -0.36647913, -0.45753589])
plot() ํจ์๋ก ์ฐจํธ๋ฅผ ๋ง๋ค๊ณ
show() ํจ์๋ก ์ฐจํธ๋ง ๋ณด์ฌ์ค๋ค.
>> plt.plot(x,y)
>> plt.show()