๊ธฐ๋ณธ ์…‹ํŒ…

 

import matplotlib.pyplot as plt #data ์‹œ๊ฐํ™”
import numpy as np #์ˆซ์ždata ์ƒ์„ฑ

 



1. ์ฐจํŠธ data ์ƒ์„ฑ : np.๋‚œ์ˆ˜ ์ƒ์„ฑ ๋ชจ๋“ˆ.ํ•จ์ˆ˜()

data = np.random.randn(100) #์ •๊ทœ๋ถ„ํฌ ์ž๋ฃŒ ์ƒ์„ฑ
print(data)

 



2. ์ •๊ทœ๋ถ„ํฌ ์‹œ๊ฐํ™”

plt.plot(data) #๊ธฐ๋ณธ์ฐจํŠธ ์‹œ๊ฐํ™”
plt.title("visyalize normal dist...") #์ œ๋ชฉ
plt.xlabel("index") #x์ถ• ์ด๋ฆ„
plt.ylabel("random number") #y์ถ• ์ด๋ฆ„
plt.show() #๋ณด์ด๊ธฐ

 

 

 

3. ์ •๊ทœ๋ถ„ํฌ ์‹œ๊ฐํ™” : ํ•œ๊ธ€ ์‚ฌ์šฉ

plt.plot(data) #๊ธฐ๋ณธ์ฐจํŠธ ์‹œ๊ฐํ™”
plt.title("์ •๊ทœ๋ถ„ํฌ๋ฅผ ๋”ฐ๋ฅด๋Š” ๋‚œ์ˆ˜ ์‹œ๊ฐํ™”") #์ œ๋ชฉ
plt.xlabel("์ƒ‰์ธ(index)") #x์ถ• ์ด๋ฆ„
plt.ylabel("๋‚œ์ˆ˜(random number)") #y์ถ• ์ด๋ฆ„
plt.show() #๋ณด์ด๊ธฐ
#ํ•œ๊ธ€ ๊นจ์ง ํ˜„์ƒ

 

์ฐจํŠธ์—์„œ ํ•œ๊ธ€ ์ง€์›

import matplotlib.pyplot plt
plt.rcParams['font.family'] = 'Malgun Gothic'


์Œ์ˆ˜ ๋ถ€ํ˜ธ ์ง€์›

import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False

 

 

 

 

 

๊ธฐ๋ณธ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ

 

import numpy as np #data ์ƒ์„ฑ
import matplotlib.pyplot as plt #data ์‹œ๊ฐํ™”

plt.rcParams['font.family'] = 'Malgun Gothic' #์ฐจํŠธ์—์„œ ํ•œ๊ธ€ ์ง€์›

import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False #์Œ์ˆ˜ ๋ถ€ํ˜ธ ์ง€์›



1. ์ฐจํŠธ ์ž๋ฃŒ ๋งŒ๋“ค๊ธฐ

data = np.arange(-3, 7) 
data #array([-3, -2, -1,  0,  1,  2,  3,  4,  5,  6])
len(data) #10

 



2. ๊ธฐ๋ณธ ์„  ์Šคํƒ€์ผ๊ณผ ์ƒ‰์ƒ

plt.plot(data) #x์ถ• : index, y์ถ• : data
plt.title("๊ธฐ๋ณธ ์„  ์Šคํƒ€์ผ๊ณผ ์ƒ‰์ƒ")
plt.show()




3. ๋™์ผํ•œ ๋นจ๊ฐ„์ƒ‰ ํ”Œ๋Ÿฌ์Šค ์„  ์Šคํƒ€์ผ

plt.plot(data, 'r+')
plt.title("์„  ์Šคํƒ€์ผ์€ +, ์ƒ‰์ƒ์€ ๋นจ๊ฐ•")
plt.show()

 

help(plt.plot)




4. ์„  ์Šคํƒ€์ผ๊ณผ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

plt.plot(data, 'g--')
plt.title("์„  ์Šคํƒ€์ผ์€ --, ์ƒ‰์ƒ์€ ์ดˆ๋ก")
plt.show()




5. x, y์ถ• ์ž๋ฃŒ ์ด์šฉ

data2 = np.random.randn(10)
plt.plot(data, data2) #(x์ถ•, y์ถ•)
plt.title("x์ถ•๊ณผ y์ถ• ์ž๋ฃŒ ์ด์šฉ")
plt.show()




6. color, marker ์ด์šฉ

data2 = np.random.randn(10)
plt.plot(data, data2, 'ro') #'ro' : red, circle(์ )
plt.title("x์ถ•๊ณผ y์ถ• ์ž๋ฃŒ ์ด์šฉ")
plt.show()

 

 

 

 

 

continuous (์—ฐ์†ํ˜•)

์‚ฐ์ ๋„, ํžˆ์Šคํ† ๊ทธ๋žจ, ๋ฐ•์Šคplot

import numpy as np #data ์ƒ์„ฑ
import matplotlib.pyplot as plt #data ์‹œ๊ฐํ™”

plt.rcParams['font.family'] = 'Malgun Gothic' #์ฐจํŠธ์—์„œ ํ•œ๊ธ€ ์ง€์›

import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False #์Œ์ˆ˜ ๋ถ€ํ˜ธ ์ง€์›


์ฐจํŠธ ์ž๋ฃŒ ์ƒ์„ฑ

data1 = np.arange(-3, 7)
data2 = np.random.randn(10) #N(0, 1^2)

print(data2)




1. ์‚ฐ์ ๋„

plt.scatter(x = data1, y = data2, c = 'r', marker = 'o')
plt.title('์‚ฐ์ ๋„ ์‹œ๊ฐํ™”')
plt.show()

 

๊ตฐ์ง‘๋ณ„๋กœ ์ƒ‰์ƒ ๋‹ค๋ฅด๊ฒŒ

cdata = np.random.randint(1, 4, 10) #1~3๊นŒ์ง€ ๋‚œ์ˆ˜ ์ •์ˆ˜๊ฐ€ 10๊ฐœ ๋งŒ๋“ค์–ด์ง
print(cdata) #[3 1 3 1 2 3 2 2 3 1]

plt.scatter(x = data1, y = data2, c = cdata)
plt.title('์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒ‰ ์‚ฐ์ ๋„ ์‹œ๊ฐํ™”')
plt.show()

 



2. ํžˆ์Šคํ† ๊ทธ๋žจ : ๋Œ€์นญ์„ฑ (๋ฐ์ดํ„ฐ์˜ ์ „๊ทœ์„ฑ ๋ถ„ํฌ ํ™•์ธ)

data3 = np.random.normal(0, 1, 2000) #N(mean, sigma^2)
print(data3)


๋‚œ์ˆ˜ ํ†ต๊ณ„

data3.mean() #-0.008676313516027209
data3.std() #0.9636736941313829

plt.hist(x = data3, bins = 100, density=True, label = 'data3') #* density : ํžˆ์Šคํ† ๊ทธ๋žจ์˜ ํ•ฉ 1๋กœ ์ •๊ทœํ™”
plt.hist(x = data4, bins = 100, density=True, label = 'data4')
plt.legend(loc = 'best') #๋ฒ”๋ก€ ํ‘œ์‹œ
plt.show()

 

 

 

3. box plot

data5 = np.random.random(100) #0~1 ๋‚œ์ˆ˜ ์‹ค์ˆ˜
data5.shape #(100,) : 1์ฐจ์›์˜ vector
type(data5) #numpy.ndarray


numpy -> pandas why? pandas ๊ฐ์ฒด ์ž์ฒด์—์„œ ์š”์•ฝํ†ต๊ณ„๋Ÿ‰ ํ•จ์ˆ˜ ํ˜ธ์ถœ ๊ฐ€๋Šฅ

import pandas as pd

ser = pd.Series(data5)
type(ser) #andas.core.series.Series

 

ser.describe() #์š”์•ฝํ†ต๊ณ„๋Ÿ‰

count    100.000000
mean       0.528146
std        0.302336 -> ํ‘œ์ค€ํŽธ์ฐจ
min        0.009849 -> ์ตœ์†Œ๊ฐ’
25%        0.311001
50%        0.547068 -> ์ค‘์•™๊ฐ’
75%        0.793267
max        0.997797 -> ์ตœ๋Œ€๊ฐ’
dtype: float64

plt.boxplot(x= data5)
plt.show()

 

 

 

 

 

์ด์‚ฐํ˜• ๋ณ€์ˆ˜ ์‹œ๊ฐํ™”

์…€ ์ˆ˜ ์žˆ๋Š” ์ •์ˆ˜ : ์ž๋…€์ˆ˜, ๋ถ„๊ธฐ๋ณ„ ๋งค์ถœ์•ก 
๋ง‰๋Œ€์ฐจํŠธ, ์›์ฐจํŠธ 

 

import numpy as np # data ์ƒ์„ฑ 
import matplotlib.pyplot as plt # data ์‹œ๊ฐํ™”

 


์ฐจํŠธ์—์„œ ํ•œ๊ธ€ ์ง€์› 

plt.rcParams['font.family'] = 'Malgun Gothic'


์Œ์ˆ˜ ๋ถ€ํ˜ธ ์ง€์› 

import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False


์ฐจํŠธ ์ž๋ฃŒ ์ƒ์„ฑ 

data = [127, 90, 201, 150, 250] # ๊ตญ๊ฐ€๋ณ„ ์ˆ˜์ถœํ˜„ํ™ฉ 
idx = np.arange(len(data)) # 0 ~ 4
idx # array([0, 1, 2, 3, 4])



1. ์„ธ๋กœ๋ง‰๋Œ€ 

plt.bar(x=idx , height=data)
plt.title("๊ตญ๊ฐ€๋ณ„ ์ˆ˜์ถœํ˜„ํ™ฉ")
plt.ylabel("๋‹จ์œ„ : ๋‹ฌ๋Ÿฌ")
plt.show()


2. ๊ฐ€๋กœ๋ง‰๋Œ€ 

plt.barh(y=idx , width=data)
plt.title("๊ตญ๊ฐ€๋ณ„ ์ˆ˜์ถœํ˜„ํ™ฉ")
plt.xlabel("๋‹จ์œ„ : ๋‹ฌ๋Ÿฌ")
plt.show()


3. ์› ์ฐจํŠธ

labels = ['์‹ฑ๊ฐ€ํด','ํƒœ๊ตญ','๋Œ€ํ•œ๋ฏผ๊ตญ','์ผ๋ณธ','๋ฏธ๊ตญ'] 
plt.pie(x = data, labels = labels)
plt.show()

 

 

 

 

 

subplot ์ฐจํŠธ

๊ฐ ๊ฒฉ์ž๋ณ„ ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ 

import numpy as np # data ์ƒ์„ฑ 
import matplotlib.pyplot as plt # data ์‹œ๊ฐํ™”


์ฐจํŠธ์—์„œ ํ•œ๊ธ€ ์ง€์› 

plt.rcParams['font.family'] = 'Malgun Gothic'


์Œ์ˆ˜ ๋ถ€ํ˜ธ ์ง€์› 

import matplotlib
matplotlib.rcParams['axes.unicode_minus'] = False

 



1. figure ๊ฐ์ฒด & subplot ๋งŒ๋“ค๊ธฐ 

fig = plt.figure(figsize = (20, 8))
x1 = fig.add_subplot(2,2,1) # 2ํ–‰2์—ด 1๋ฒˆ ๊ฒฉ์ž 
x2 = fig.add_subplot(2,2,2) # 2ํ–‰2์—ด 2๋ฒˆ ๊ฒฉ์ž 
x3 = fig.add_subplot(2,2,3) # 2ํ–‰2์—ด 3๋ฒˆ ๊ฒฉ์ž 
x4 = fig.add_subplot(2,2,4) # 2ํ–‰2์—ด 4๋ฒˆ ๊ฒฉ์ž


2. ์ฐจํŠธ ์ž๋ฃŒ 

data1 = np.random.randn(100) 
data2 = np.random.randint(1, 100, 100)
cdata = np.random.randint(1,4,100)


3. ๊ฐ ๊ฒฉ์ž๋ณ„ ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ 

x1.hist(data1)
x2.scatter(data1, data2, c=cdata)
x3.plot(data2)
x4.plot(data2, 'g--')
plt.show()
 
 

 

+ Recent posts