Chapter 13. Visualization#

ํ•™์Šต๋ชฉํ‘œ์™€ ๊ธฐ๋Œ€ํšจ๊ณผ

  • ํ•™์Šต๋ชฉํ‘œ

    • ๋ฐฐ์—ด, ๋ฐ์ดํƒ€ํ”„๋ ˆ์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

  • ๊ธฐ๋Œ€ํšจ๊ณผ

    • ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด ๋ถ„์„, ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ํšจ๊ณผ์ ์œผ๋กœ ์„ค๋ช…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

#I. Matplotlib

๋ฐ์ดํ„ฐ ๋ถ„์„ ๋˜๋Š” ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”์ด๋‹ค. ํŒŒ์ด์ฌ ์–ธ์–ด๋ฅผ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋Š” matplotlib๊ณผ seaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•˜๋‹ค. matplotlib๊ณผ seaborn์€ ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์ง€ ์•Š์ง€๋งŒ, ๋ฐ์ดํ„ฐ์— ์ ํ•ฉํ•œ ์‹œ๊ฐํ™”๋ฅผ ์ด๋Œ์–ด ๋‚ด๋Š” ๊ฒƒ์ด ๋งค์šฐ ์ค‘์š”ํ•˜๊ณ  ์–ด๋ ต๋‹ค.

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

  • ์•„๋ž˜์˜ ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•๊ณผ ์˜ต์…˜์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•œ๊ธ€ ํฐํŠธ ์„ค์น˜ ๋ฐ ์„ค์ •#

  • ๊ทธ๋ž˜ํ”„์— ๊ทธ๋ž˜ํ”„์ œ๋ชฉ, X์ถ•์ด๋ฆ„, Y์ถ•์ด๋ฆ„ ๋“ฑ ํ•œ๊ธ€์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฏ€๋กœ ํ•œ๊ธ€์ด ๊นจ์ง€์ง€์•Š๋„๋ก ํฐํŠธ ์„ค์น˜ ๋ฐ ์„ค์ •์„ ๋จผ์ € ํ•ด์ฃผ์ž.

  1. ์•„๋ž˜ ์…€์„ ์‹คํ–‰์‹œ์ผœ ํฐํŠธ๋ฅผ ์„ค์น˜ํ•ด์ค€๋‹ค.

  2. ๋ฉ”๋‰ด์—์„œ ๋Ÿฐํƒ€์ž„ -> ์„ธ์…˜ ๋‹ค์‹œ ์‹œ์ž‘์„ ํ•ด์ค€๋‹ค.

!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf
'sudo' is not recognized as an internal or external command,
operable program or batch file.
'sudo' is not recognized as an internal or external command,
operable program or batch file.
  1. ํฐํŠธ๋ฅผ ์„ค์ •ํ•œ๋‹ค.

import matplotlib.pyplot as plt
import numpy as np

plt.rc('font', family='NanumBarunGothic')
  1. ํฐํŠธ์„ค์ •์ด ์ž˜ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณธ๋‹ค. โ€˜ํ•œ๊ธ€โ€™์ด๋ผ๋Š” ๊ธ€์ž๊ฐ€ ์ถœ๋ ฅ์ด ๋˜์—ˆ๋‹ค๋ฉด ์ž˜๋œ๊ฒƒ์ด๋‹ค.

plt.text(0.3, 0.3, 'ํ•œ๊ธ€', size=100)
plt.show()
_images/dfd740969b7475cc11c6f4e5cc919552e51814b0bba01e2bfec41284e30a4bb9.png

Matplotlib: numpy ๋ฐ์ดํ„ฐ ํ™œ์šฉ#

  • numpy ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž. ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ ๋จผ์ € ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

  • matplotlib.pyplot ๋ชจ๋“ˆ์€ ๋ณดํ†ต plt๋ผ๋Š” ๋ณ„์นญ์„ ์‚ฌ์šฉํ•œ๋‹ค.

import matplotlib.pyplot as plt
import numpy as np

์„ ๊ทธ๋ž˜ํ”„: plt.plot()#

  • ์„  ๊ทธ๋ž˜ํ”„๋Š” ์ˆ˜๋Ÿ‰์„ ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ์ ๊ณผ ์  ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ง์„ ์œผ๋กœ ์—ฐ๊ฒฐํ•œ ๊ทธ๋ž˜ํ”„์ด๋‹ค.

  • ์—ฐ์†ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’๋“ค์„ ์ง์„  ๋˜๋Š” ๊ณก์„ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐ’ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™” ์ถ”์„ธ๋ฅผ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์œ ์šฉํ•˜๋‹ค.

plt.plot(x, y, ...)
  • ์„ ๊ทธ๋ž˜ํ”„์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๊พธ๋ฏธ๊ธฐ ์˜ต์…˜์ด ์žˆ๋‹ค.

๊ธ€์ž

์ƒ‰

๊ธ€์ž

์„ /๋งˆ์ปค ๋ชจ์–‘

์˜ต์…˜๋ช…

์˜ต์…˜๊ฐ’

โ€˜bโ€™

Blue

โ€˜-โ€˜

Solid line

label

โ€˜๋ผ๋ฒจ๋ช…โ€™

โ€˜gโ€™

Green

โ€˜โ€“โ€™

Dashed line

color/c

โ€˜์„ ์ƒ‰โ€™

โ€˜rโ€™

Red

โ€˜-.โ€™

Dash-dot line

linewidth/lw

์„ ๊ตต๊ธฐ

โ€˜cโ€™

Cyan

โ€˜:โ€™

Dotted lin

linestyle/ls

โ€˜์„ ๋ชจ์–‘โ€™

โ€˜mโ€™

Magenta

โ€˜.โ€™

Point marker

marker

โ€˜๋งˆ์ปค๋ชจ์–‘โ€™

โ€˜yโ€™

Yellow

โ€˜,โ€™

Pixel marker

markerfacecolor/mfc

โ€˜๋งˆ์ปค์ƒ‰โ€™

โ€˜kโ€™

Black

โ€˜oโ€™

Circle marker

markersize/ms

๋งˆ์ปคํฌ๊ธฐ

โ€˜wโ€™

White

๐Ÿ˜„ ๋ฐฐ์—ด x, y์— ๋Œ€ํ•œ ์„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

x = np.arange(0, 10)
y = 2 * x**2 - 3 * x + 1
#TODO

#plt.plot(x, y, color = 'green', linestyle = 'dashed', marker = 'o', mfc = 'blue', ms = 12)
plt.show()
#plt.savefig('line.png') #.show()๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌํ•˜๊ณ  ํŒŒ์ผ๋กœ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.

๋‹ค์ค‘ ์„ ๊ทธ๋ž˜ํ”„#

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•˜๋‚˜์˜ ๋„ํ™”์ง€์— ๊ทธ๋ฆฌ๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ๋จผ์ € ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— plt.show()ํ•˜๋ฉด ๋œ๋‹ค.

x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
#Todo

plt.title('Example of sinewave') # ์ œ๋ชฉ
plt.legend() # ๋ฒ”๋ก€
plt.xlabel('Time')        # x์ถ• ๋ผ๋ฒจ
plt.ylabel('Amplitude')   # y์ถ• ๋ผ๋ฒจ
plt.show()
No handles with labels found to put in legend.
_images/2a23543d4e1bf93e8b58c7472521aa7f55f5c7dcb6c022a0df76b28d77c5ff80.png

์‚ฐํฌ๋„(์‚ฐ์ ๋„) ๊ทธ๋ž˜ํ”„: plt.scatter()#

  • ์‚ฐํฌ๋„๊ทธ๋ž˜ํ”„๋Š” ๋„ํ‘œ ์œ„์— ๋‘ ๋ณ€์ˆ˜ x์™€ y ๊ฐ’์ด ๋งŒ๋‚˜๋Š” ์ง€์ ์„ ํ‘œ์‹œํ•œ๋‹ค.

  • ์ด ๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ๋‘ ๋ณ€์ˆ˜ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

plt.scatter(x, y, ...)
  • ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„์— ์‚ฌ์šฉ๋˜๋Š” ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์˜ต์…˜๋ช…

์˜ต์…˜๊ฐ’

color/c/facecolor/facecolors

โ€˜๋งˆ์ปค์ƒ‰โ€™(ํ•˜๋‚˜์˜ ์ƒ‰ ๋Œ€์‹  ๋ฐ์ดํ„ฐ ์ง€์ • ๊ฐ€๋Šฅ)

cmap

colormap

marker

โ€˜oโ€™, โ€˜+โ€™, โ€˜*โ€™, โ€˜.โ€™, โ€˜>โ€™

alpha

ํˆฌ๋ช…๋„

s

๋งˆ์ปคํฌ๊ธฐ

https://matplotlib.org/tutorials/colors/colormaps.html

๐Ÿ˜„ ๋ฐฐ์—ด x,y์— ๋Œ€ํ•ด ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

x = np.random.randint(0, 100, 200)
y = np.random.randint(0, 100, 200)
#TODO

plt.show()

์นผ๋ผ๋ฐ”๊ฐ€ ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„: plt.colorbar()#

  • color๋ฅผ ๋ฐ์ดํ„ฐ์™€ ์—ฐ๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

  • ์—ฐ๋™์‹œํ‚จ ๋ฐ์ดํƒ€๊ฐ€ colorbar์˜ ์ƒ‰๊น”๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

plt.scatter(x,y,c=data)
plt.colorbar()

๐Ÿ˜„ ๋ฐฐ์—ด x,y์— ๋Œ€ํ•ด ์นผ๋ผ๋ฐ”๊ฐ€ ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

x = np.random.randint(0, 100, 20)
y = np.random.randint(0, 100, 20)
#TODO
plt.show()

์„ธ๋กœ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: plt.bar()#

  • ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ ํ•ญ๋ชฉ์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค.

plt.bar(x, y)

๐Ÿ˜„ ๋ฐฐ์—ด x, ๋ฆฌ์ŠคํŠธ y์— ๋Œ€ํ•ด ์„ธ๋กœ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

x = np.arange(1, 6)
y = [10, 5, 25, 3, 22]
#TODO
plt.show()

๊ฐ€๋กœ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: plt.barh()#

plt.barh(x, y)

๐Ÿ˜„ ๋ฐฐ์—ด x, ๋ฆฌ์ŠคํŠธ y์— ๋Œ€ํ•ด ๊ฐ€๋กœ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

x = np.arange(1, 6)
y = [10, 5, 25, 3, 22]
#Todo

Matplotlib: ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐ ํ™œ์šฉ#

import pandas as pd
scores = [[84, 87, 78], [21, 15, 84], [87, 84, 76], [100, 87, 99], [59, 99, 59], [46, 77, 56]]
names = ['์ฒ ์ˆ˜', '์˜์ด', '๊ธธ๋™', '๋ฏธ์˜', '์ˆœ์ด', '์ฒ ์ด']
lectures = ['๊ตญ์–ด', '์˜์–ด', '์ˆ˜ํ•™']
df=pd.DataFrame(scores, index=names, columns=lectures)
df
๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™
์ฒ ์ˆ˜ 84 87 78
์˜์ด 21 15 84
๊ธธ๋™ 87 84 76
๋ฏธ์˜ 100 87 99
์ˆœ์ด 59 99 59
์ฒ ์ด 46 77 56
  • ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์œผ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ์ฒซ ๋ฒˆ์งธ๋Š” plt.๊ทธ๋ž˜ํ”„ํ•จ์ˆ˜๋ช…(x, y)์™€ ๊ฐ™์ด ์•ž์„œ ์„ค๋ช…ํ–ˆ๋˜ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

      • ์˜ˆ) plt.plot(df.index, df[โ€˜๊ตญ์–ดโ€™])

    • ๋‘ ๋ฒˆ์งธ๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„๋ช….plot(kind=โ€™๊ทธ๋ž˜ํ”„์ข…๋ฅ˜โ€™)์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„๋ช…์„ .์•ž์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

      • ์˜ˆ) df[โ€˜๊ตญ์–ดโ€™].plot(kind=โ€™lineโ€™)

    • kind ์˜ต์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

      • โ€˜lineโ€™: ์„ ๊ทธ๋ž˜ํ”„

      • โ€˜barโ€™: ์ˆ˜์ง๋ง‰๋Œ€๊ทธ๋ž˜ํ”„

      • โ€˜barhโ€™: ์ˆ˜ํ‰๋ง‰๋Œ€๊ทธ๋ž˜ํ”„

      • โ€˜pieโ€™: ์›๊ทธ๋ž˜ํ”„

      • โ€˜boxโ€™: ๋ฐ•์Šค๊ทธ๋ž˜ํ”„

      • โ€˜kdeโ€™: ์ปค๋„๋ฐ€๋„๊ทธ๋ž˜ํ”„

์„ ๊ทธ๋ž˜ํ”„: df๋ณ€์ˆ˜๋ช….plot(kind=โ€™lineโ€™)#

df['๊ตญ์–ด'].plot(kind='line', marker='*', markersize='10', markerfacecolor='red')
#plt.plot(df.index, df['๊ตญ์–ด'], marker='*', markersize='10', markerfacecolor='red')
plt.title('๊ตญ์–ด์„ฑ์ ')
plt.xlabel('์ด๋ฆ„')
plt.ylabel('์ ์ˆ˜')
plt.show()
_images/5e32f419fd1eee24d97c4ce1edc5e9d97110b71081ebe77f04f6db73b63e9c84.png

์—ฌ๋Ÿฌ๊ฐœ ๊ทธ๋ž˜ํ”„: plt.subplot()#

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ทธ๋ž˜ํ”„๋ฅผ ํ•˜๋‚˜์˜ ๋„ํ™”์ง€์— ๋‚˜ํƒ€๋‚ด๋ณด์ž.

  • plt.figure(figsize = (12,3)) : ๋„ํ™”์ง€์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ฐ€๋กœ 12, ์„ธ๋กœ 3 ์ธ์น˜๋กœ ์„ค์ •ํ•œ๋‹ค.

  • plt.subplot(row, column, index): ํ•˜๋‚˜์˜ ๋„ํ™”์ง€๋ฅผ row์™€ column์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ทธ๋ž˜ํ”„๊ฐ€ ๋“ค์–ด๊ฐˆ ์œ„์น˜ ์ฆ‰, index๋ฅผ ์ ์–ด์ค€๋‹ค.

plt.figure(figsize=(12,3))
for i in range(3):
  plt.subplot(1,3,i+1)
  df[lectures[i]].plot(kind='line')
  #plt.plot(names,df[lectures[i]])
  plt.title(lectures[i]+'์„ฑ์ ')
plt.show()
_images/9bbe81615f135e74a00940de6ddafc7a79949efe10a0524b65f3278692ed3706.png

์„ธ๋กœ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: df๋ณ€์ˆ˜๋ช….plot(kind=โ€™barโ€™)#

df['๊ตญ์–ด'].plot(kind='bar')
#plt.bar(df.index, df['๊ตญ์–ด'])
plt.title('ํ•™์ƒ๋“ค์˜ ์„ฑ์ ')
plt.ylabel('์ ์ˆ˜')
plt.xlabel('์ด๋ฆ„')
plt.show()
_images/157f6f08098012da13db8c0e7296092d8d16ed1052c453c76b884a04db241338.png
df.plot(kind='bar')
plt.title('ํ•™์ƒ๋“ค์˜ ์„ฑ์ ')
plt.ylabel('์ ์ˆ˜')
plt.xlabel('์ด๋ฆ„')
plt.show()
_images/2f7929bf525acc67f43f0086c8c2ba5becf0aa880c871498ff14e538e24a7784.png
  • ์„ธ๋กœ ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ์ •๋ ฌํ•ด๋ณด์ž.

sorted_math=df.sort_values(by='์ˆ˜ํ•™')
sorted_math
๊ตญ์–ด ์˜์–ด ์ˆ˜ํ•™
์ฒ ์ด 46 77 56
์ˆœ์ด 59 99 59
๊ธธ๋™ 87 84 76
์ฒ ์ˆ˜ 84 87 78
์˜์ด 21 15 84
๋ฏธ์˜ 100 87 99
sorted_math['์ˆ˜ํ•™'].plot(kind='bar')
plt.title('์ˆ˜ํ•™์„ฑ์ ')
plt.ylabel('์ด๋ฆ„')
plt.xlabel('์ ์ˆ˜')
plt.show()
_images/ea23b0e3469738fa3fee983714739d7368ec2ade0bb7cc38352bbfc13f76fadb.png

๊ฐ€๋กœ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: df๋ณ€์ˆ˜๋ช….plot(kind=โ€™barhโ€™)#

df.plot(kind='barh', stacked = True)
plt.title('ํ•™์ƒ๋“ค์˜ ์„ฑ์ ')
plt.ylabel('์ด๋ฆ„')
plt.xlabel('์ ์ˆ˜')
plt.show()
_images/822fab2f5c5b4efdaf3f598fb025167f832e1a091741d3d2c1893ee98e25c590.png

ํŒŒ์ด ๊ทธ๋ž˜ํ”„: df๋ณ€์ˆ˜๋ช….plot(kind=โ€™pieโ€™)#

  • autopct : ํŒŒ์ด์กฐ๊ฐ์„ ๋ฐฑ๋ถ„์œจ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • startangle: ์ฒซ ๋ฒˆ์งธ ํŒŒ์ด์˜ ์‹œ์ž‘ ๊ฐ๋„

  • explode: ํŠน์ • ์กฐ๊ฐ์„ ๋Œ์ถœ์‹œํ‚จ๋‹ค.

explode = [0.0, 0.1, 0.0, 0.0]
๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„๋ช….plot(kind='pie',
                 figsize=(7,5),
                 autopct='%.1f%%',
                 startangle=0,
                 explode = explode,
                 colors=['chocolate','bisque','cadetblue','yellow'])
plt.show()
import pandas as pd
import matplotlib.pyplot as plt

# ๋ฐ์ดํ„ฐ ์ •์˜
departments = ['๊ฒฝ์ œํ•™๋ถ€', '๊ตญ์–ด๊ต์œก๊ณผ', '์ƒ๋ช…๊ณผํ•™๋ถ€', '์†Œ๋น„์ž์•„๋™ํ•™๋ถ€', '์ˆ˜๋ฆฌ๊ณผํ•™๋ถ€',
               '์–ธ๋ก ์ •๋ณดํ•™๊ณผ', '์–ธ์–ดํ•™๊ณผ', '์—๋„ˆ์ง€์ž์›๊ณตํ•™๊ณผ', '์˜์–ด๊ต์œก๊ณผ', '์œค๋ฆฌ๊ต์œก๊ณผ',
               '์ž์œ ์ „๊ณตํ•™๋ถ€', '์ •์น˜์™ธ๊ตํ•™๋ถ€', '์ฒจ๋‹จ์œตํ•ฉํ•™๋ถ€', '์ฒด์œก๊ต์œก๊ณผ', 'ํ†ต๊ณ„ํ•™๊ณผ']
students = [4, 3, 3, 2, 6,
             2, 4, 7, 3, 1,
             5, 3, 2, 6, 3]

# ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ƒ์„ฑ
data = {'Department': departments, 'Students': students}
sugang = pd.DataFrame(data)

# ํŒŒ์ด์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ
explode = [0.0, 0.1, 0.0, 0.0, 0.0,
           0.0, 0.1, 0.0, 0.0, 0.0,
           0.0, 0.1, 0.0, 0.0, 0.0,]
plt.figure(figsize=(10, 10))
sugang['Students'].plot(kind='pie', figsize=(7,5), labels=sugang['Department'], autopct='%1.1f%%', startangle=0, explode = explode)
plt.title('ํ•™๊ณผ๋ณ„ ์ˆ˜๊ฐ•์ƒ ๋น„์œจ')
plt.show()
_images/471fa2d1f108036b257c81a5e2c4cf3a453948aab50aec1c7eaeaf332de061d0.png

II. Seaborn#

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

import matplotlib.pyplot as plt
import seaborn as sns

์„ ๊ทธ๋ž˜ํ”„: sns.lineplot()#

#sns.lineplot(data=df['ํ‰๊ท '])
sns.lineplot(x=df.index, y='๊ตญ์–ด', data=df)
plt.show()
_images/00b172377ca8c27b31bd38b4774b94b59594c06d9dfea96b98753366404931b5.png

๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: sns.barplot()#

  • ์ˆ˜์ง๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฐ๋‹ค.

  • ์˜ต์…˜ orient=โ€™hโ€™๋ฅผ ํ•˜๋ฉด ์ˆ˜ํ‰๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฐ๋‹ค.

sns.barplot(data=df['๊ตญ์–ด'])
sns.barplot(x=df.index, y='๊ตญ์–ด', data=df)
plt.show()
_images/a48596d7098e1fd6bc4a759f082baffa372e75a139b64cb69aa7c53951fcc2e8.png
sns.barplot(data=df['๊ตญ์–ด'], orient='h')
plt.show()
_images/eb2c48e6ca1b2d460ba254a0a8e8fccdef22b43545e456529d64c52abf5b0fec.png

์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„: sns.scatterplot()#

  • ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฐ๋‹ค.

sns.scatterplot(data=df['๊ตญ์–ด'])
plt.show()
_images/36eaf42e8daa577f8200e4ddf2db928701655b4160f3635985bd09d1a919ab4f.png

๋ฐ•์Šคํ”Œ๋กฏ ๊ทธ๋ž˜ํ”„:sns.boxplot()#

๋ฐ•์Šคํ”Œ๋กฏ์€ ์ˆ˜์—ผ์ƒ์ž, ๋ด‰, ์บ”๋“ค ๋“ฑ ๋‹ค์–‘ํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๊ทธ๋ž˜ํ”„์ด๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์™€ ์ด์ƒ์น˜๋ฅผ ๋™์‹œ์— ๋ณด์—ฌ์ค˜์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ตฐ์„ ์‰ฝ๊ฒŒ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์†Ÿ๊ฐ’, ์ตœ๋Œ“๊ฐ’, ์ œ1์‚ฌ๋ถ„์œ„์ˆ˜(Q1), ์ œ2์‚ฌ๋ถ„์œ„์ˆ˜(Q2, ์ค‘์•™๊ฐ’), ์ œ3์‚ฌ๋ถ„์œ„์ˆ˜(Q3) ๋“ฑ ๋‹ค์„ฏ๊ฐ€์ง€ ํ†ต๊ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

๐Ÿ˜„ ์„ฑ๋ณ„๋ณ„๋กœ ๊ตญ์–ด์ ์ˆ˜์— ๋Œ€ํ•ด ๋ฐ•์Šคํ”Œ๋กฏ์„ ๊ทธ๋ ค๋ณด์ž.

gender = ['๋‚จ','์—ฌ','๋‚จ','์—ฌ','์—ฌ','๋‚จ']
df['์„ฑ๋ณ„']= gender
sns.boxplot(x=df['์„ฑ๋ณ„'], y=df['๊ตญ์–ด'])
#sns.boxplot(x='์„ฑ๋ณ„', y='๊ตญ์–ด', data=df)
plt.show()
_images/9e08c90bef07af59d3b7513002bc27d3725f21ad3643ba9377430fc2a8d204f2.png

ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„: sns.regplot()#

  • regression plot

  • ์‚ฐํฌ๋„์™€ ์„ ํ˜•ํšŒ๊ท€๋ถ„์„์— ์˜ํ•œ ํšŒ๊ท€์„ , 95%์˜ ์‹ ๋ขฐ๊ตฌ๊ฐ„์„ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค.

    • ํšŒ๊ท€์„ : ์‚ฐํฌ๋„์— ์‚ฐ์žฌํ•ด ์žˆ๋Š” ์ ๋“ค์˜ ๊ด€๊ณ„์— ๊ทผ๊ฑฐํ•˜์—ฌ ๊ทธ์–ด์ง€๋Š” ์„ 

    • ํšŒ๊ท€์„  ์œ„์•„๋ž˜ ์Œ์˜์ฒ˜๋ฆฌ ๋œ ๋ถ€๋ถ„์ด ์‹ ๋ขฐ๊ตฌ๊ฐ„์ด๋‹ค.

๐Ÿ˜„ ๊ตญ์–ด์™€ ์˜์–ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๊ธฐ์œ„ํ•ด ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

import matplotlib.pyplot as plt
import seaborn as sns
plt.figure(figsize=(5,3))
sns.regplot(x='๊ตญ์–ด', y='์˜์–ด', data=df)
plt.show()
_images/7e011f4d78b220d5443dde834954f6419eecf070a37f9a345803774ef5fe2677.png

์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ฆฌ๊ธฐ: sns.lmplot()#

  • regplot()๊ณผ ๋น„์Šทํ•˜๋‚˜, hue ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๊ฐ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ์™€ ์„ ํ˜• ๊ด€๊ณ„๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ˜„ ์„ฑ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ตญ์–ด์™€ ์˜์–ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด๊ธฐ์œ„ํ•ด ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

plt.figure(figsize=(5,3))
sns.lmplot(x='๊ตญ์–ด',y='์˜์–ด',hue='์„ฑ๋ณ„',data=df)
plt.show()
<Figure size 360x216 with 0 Axes>
_images/eaf92ed50a896c9d7977f4ce4319365b082d7ad2151b26ece23144a392daddc3.png

ํžˆํŠธ๋งต ๊ทธ๋ž˜ํ”„: sns.heatmap()#

์ƒ‰์ƒ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งคํŠธ๋ฆญ์Šค ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค.

sns.heatmap(data)
  • annot : ๊ฐ ์…€์— ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • fmt : ์ •์ˆ˜๋กœ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • cmap: ์ปฌ๋Ÿฌ๋งต์„ ์ ์–ด์ค€๋‹ค. https://matplotlib.org/tutorials/colors/colormaps.html

๐Ÿ˜„ ํ•™์ƒ๊ณผ ๊ณผ๋ชฉ๋ณ„ ํžˆํŠธ๋งต๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

sns.heatmap(df.loc[:, '๊ตญ์–ด':'์ˆ˜ํ•™'],annot=True, fmt='d', cmap='YlGnBu', linewidth=0.5)
plt.show()
_images/1c107f37b5b98b27d8338aef23c075f1cb1a624ab1a581f7aa1d1dfcb6002c94.png

ํžˆ์Šคํ† ๊ทธ๋žจ๊ณผ ์ปค๋„๋ฐ€๋„ ๊ทธ๋ž˜ํ”„: sns.displot()#

  • ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ํžˆ์Šคํ† ๊ทธ๋žจ๊ณผ ์ปค๋„ ๋ฐ€๋„ ํ•จ์ˆ˜๋ฅผ ๊ทธ๋ž˜ํ”„๋กœ ๋ณด์—ฌ์ค€๋‹ค.

    • ํžˆ์Šคํ† ๊ทธ๋žจ์€ ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต๊ณ„์ ์œผ๋กœ ๊ทผ์‚ฌํ™”ํ•˜์—ฌ ๋„์ˆ˜ ๋ถ„ํฌ๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค.

    • ์ปค๋„๋ฐ€๋„ํ•จ์ˆ˜ : ๊ทธ๋ž˜ํ”„์™€ x์ถ• ์‚ฌ์ด์˜ ๋ฉด์ ์ด 1์ด ๋˜๋„๋ก ๊ทธ๋ฆฌ๋Š” ๋ฐ€๋„ ๋ถ„ํฌ ํ•จ์ˆ˜

    • kde ์˜ต์…˜์„ False๋กœ ์ฃผ๋ฉด ํžˆ์Šคํ† ๊ทธ๋žจ๋งŒ ๋ณด์—ฌ์ค€๋‹ค.

    • hue ์˜ต์…˜์œผ๋กœ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋„ฃ์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

plt.figure(figsize=(5,3))
sns.displot(df['์ˆ˜ํ•™'])
plt.show()
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-29-eea6ee5d51a3> in <module>
      1 plt.figure(figsize=(5,3))
----> 2 sns.displot(df['์ˆ˜ํ•™'])
      3 plt.show()

AttributeError: module 'seaborn' has no attribute 'displot'
<Figure size 360x216 with 0 Axes>

count ๊ทธ๋ž˜ํ”„: sns.countplot()#

  • ๊ณ ์œ ํ•œ ๊ฐ’์ด๋‚˜ ๋ฒ”์ฃผ ์ˆ˜๊ฐ€ ์ œํ•œ๋œ ๋ณ€์ˆ˜(์˜ˆ: ์„ฑ๋ณ„ ๋˜๋Š” ์ข…๊ต)์ธ ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜์˜ ๋นˆ๋„์ˆ˜๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ž˜ํ”„์ด๋‹ค.

plt.figure(figsize=(5,3))
sns.countplot(x='์„ฑ๋ณ„', data=df)
plt.show()

๋ฐ”์ด์˜ฌ๋ฆฐ ๊ทธ๋ž˜ํ”„: sns.violinplot()#

  • ๋ฐ”์ด์˜ฌ๋ฆฐ๊ทธ๋ž˜ํ”„๋Š” ์ปค๋„ ๋ฐ€๋„ ๊ณก์„ (Kernel Density Curve)์™€ ๋ฐ•์Šค ํ”Œ๋กฏ์„ ํ•ฉ์นœ ํ˜•ํƒœ์˜ ๊ทธ๋ž˜ํ”„์ด๋‹ค.

  • ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์˜ ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ทธ๋ž˜ํ”„์ด๋ฉฐ, ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ’์— ์ „์ฒด ํ˜•์ƒ์„ ๋ณด์—ฌ์ค€๋‹ค.

๐Ÿ˜„ ์„ฑ๋ณ„๋ณ„๋กœ ๊ตญ์–ด์ ์ˆ˜์— ๋Œ€ํ•œ ๋ฐ”์ด์˜ฌ๋ฆฐ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ ค๋ณด์ž.

sns.violinplot(x='์„ฑ๋ณ„', y='๊ตญ์–ด', data=df)
plt.show()

ํ™”๋ฉด๋ถ„ํ•  ๊ทธ๋ž˜ํ”„: .FacetGrid()#

  • FacetGrid๊ทธ๋ž˜ํ”„๋Š” ํ–‰, ์—ด ๋ฐฉํ–ฅ์œผ๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์กฐ๊ฑด์„ ์ ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์„œ๋ธŒ ํ”Œ๋กฏ์„ ๋งŒ๋“ ๋‹ค.

  • map() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ ์„œ๋ธŒ ํ”Œ๋กฏ์— ์ ์šฉํ•  ๊ทธ๋ž˜ํ”„ ์ข…๋ฅ˜๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.

df['ํ‰๊ท '] = df.loc[: , '๊ตญ์–ด':'์ˆ˜ํ•™'].mean(axis=1)
df['Pass/Fail'] = ['Pass' if i >= 75 else 'Fail' for i in df['ํ‰๊ท ']]
df
g=sns.FacetGrid (data=df, col='Pass/Fail', row='์„ฑ๋ณ„')
g=g.map(plt.scatter, 'ํ‰๊ท ', '๊ตญ์–ด')

์ด๋ณ€์ˆ˜๋ฐ์ดํ„ฐ ๋ถ„ํฌ ๊ทธ๋ž˜ํ”„: sns.pairplot()#

  • pairplot๊ทธ๋ž˜ํ”„๋Š” ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์˜ ์—ด(๋ณ€์ˆ˜)์„ ๋‘ ๊ฐœ์”ฉ ์ง์„ ์ง€์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ๋งŒ๋“ค์–ด์ง„ ์ง์˜ ๊ฐœ์ˆ˜๋งŒํผ ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋“œ๋กœ ๋‚˜๋ˆˆ๋‹ค.

  • ๊ฐ™์€ ๋ณ€์ˆ˜๋ผ๋ฆฌ ์ง์„ ์ด๋ฃจ๋Š” ๊ฒฝ์šฐ์—๋Š” ํžˆ์Šคํ† ๊ทธ๋žจ์„ ๋‚˜ํƒ€๋‚ด๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ๋ณ€์ˆ˜ ๊ฐ„์—๋Š” ์‚ฐ์ ๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ์˜ต์…˜ hue๋Š” ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„๋กœ ๋ณด์—ฌ์ค€๋‹ค.

sns.pairplot(df)
plt.show()

์กฐ์ธํŠธ ๊ทธ๋ž˜ํ”„: sns.jointplot()#

์กฐ์ธํŠธ ๊ทธ๋ž˜ํ”„ ์‚ฐ์ ๋„๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ , x-y์ถ•์— ๊ฐ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ๋™์‹œ์— ๋ณด์—ฌ์คŒ ๋‘ ๋ณ€์ˆ˜์˜ ๊ด€๊ณ„์™€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋Š” ์ •๋„๋ฅผ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•˜๊ธฐ ์ข‹์Œ jointplot() ํ•จ์ˆ˜ ์‚ฌ์šฉ ํšŒ๊ท€์„  ์ถ”๊ฐ€: kind=โ€™regโ€™ ์ปค๋„ ๋ฐ€๋„ ๊ทธ๋ž˜ํ”„: kind=โ€™kdeโ€™

sns.jointplot (x='๊ตญ์–ด', y='์˜์–ด', kind='kde', data=df)
plt.show()

๋งˆ๋ฌด๋ฆฌ#

  • ์„ ๊ทธ๋ž˜ํ”„:

    • plt.plot()

    • dt.plot(kind=โ€™lineโ€™)

  • ์‚ฐํฌ๋„๊ทธ๋ž˜ํ”„:

    • plt.scatter()

    • dt.plot(kind=โ€™scatterโ€™)

  • ์นผ๋ผ๋ฐ”: plt.colorbar()

  • ์„ธ๋กœ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„:

    • plt.bar()

    • dt.plot(kind=โ€™barโ€™)

  • ๊ฐ€๋กœ๋ง‰๋Œ€ ๊ทธ๋ž˜ํ”„:

    • plt.barh()

    • dt.plot(kind=โ€™barhโ€™)

  • ํžˆ์Šคํ† ๊ทธ๋žจ: dt.plot(kind=โ€™histโ€™)

  • ํŒŒ์ด์ฐจํŠธ: dt.plot(kind=โ€™pieโ€™)

  • ํžˆํŠธ๋งต: sns.heatmap()

  • ์ด๋ณ€์ˆ˜๊ทธ๋ž˜ํ”„: sns.pairplot()

  • ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„: sns.regplot()

  • ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ํšŒ๊ท€์„ ์ด ์žˆ๋Š” ์‚ฐํฌ๋„: sns.lmplot()

  • ํžˆ์Šคํ† ๊ทธ๋žจ: sns.histplot()

  • ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„: sns.barplot()

  • ๋นˆ๋„๊ทธ๋ž˜ํ”„: sns.countplot()

  • ๋ฐ•์Šคํ”Œ๋กฏ๊ทธ๋ž˜ํ”„: sns.boxplot()

  • ๋ฐ”์ด์˜ฌ๋ฆฐ๊ทธ๋ž˜ํ”„: sns.violinplot()

  • ํ™”๋ฉด ๊ทธ๋ฆฌ๋“œ๋กœ ๋ถ„ํ• ํ•˜๊ธฐ: sns.FacetGrid()