1. 컬러 정의 방법
1) 빨강, 파랑, 초록성분을 3중 원소로하여 여러가지 혼합색을 만들수 있습니다.
색을 나타내는 3개의 원소들 각각은 [0, 1] 사이에 존재합니다.>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> d=np.random.randn(5, 5)
>>> col=np.identity(3)
>>> col
array([[ 1., 0., 0.], # 빨강
[ 0., 1., 0.], # 초록
[ 0., 0., 1.]]) #파랑
>>> for i in range(3):
plt.plot(d[:,i], color=col[i, :])
plt.plot(d[:,3], color=np.ones(3)) #[1,1,1] 흰색
plt.plot(d[:,3], color=np.zeros(3)) # [0,0,0] 검정
plt.show()
2) 4중 원소로 색을 표시한다.
색을 나타내는 4개의 원소중 3개의 원소는 1)과 같고 4번째 원소는 투명도를 나타냅니다.>>> plt.plot(d[:,0], color=[1,0,0, 0.2])
>>> plt.plot(d[:,1], color=[0,1,0, 0.5])
>>> plt.plot(d[:,2], color=[0,0,1,0.7])
>>> plt.show()
3) 정의된 이름을 사용
HTML에서 지정된 컬러이름을 사용합니다.name | meaning |
---|---|
b | Blue |
g | green |
r | red |
c | cyan(청록) |
m | magenta(자홍) |
y | yellow |
k | 검정(black) |
w | white |
이외에 RGB 문자열을 사용하여 색을 나타낼 수 있다.
예) #RRGGBB
예로서 정규밀도 함수를 그려봅니다.
정규밀도 함수는 다음과 같습니다.
$$\frac{1}{\sigma \sqrt{2 \pi}} \text{exp}{(-\frac{(x-\mu)^2}{2 \sigma^2})}$$
$\mu$ : 평균
$\sigma$ : 표준편차
위 식에 부합하는 함수를 작성해 보면 다음과 같습니다.
>>> def normalFunS(x, mu,sd):
a=1/np.sqrt(2*np.pi)
b=np.exp(-(x-mu)**2/(2*sd**2))
return(a*b)
>>> x=np.linspace(-5, 5, 1000)
>>> col=['r', 'b', 'g', 'k']
>>>
for i in range(len(col)):
y=np.random.normal(0, 1, size=100)
m, s= np.mean(y), np.std(y)
y1=normalFunS(x, m, s)
plt.plot(x, y1, color=col[i])
plt.show()
4) matplotlib은 중간밝기 회색을 '0.75'와 같이 문자형으로 인식된다.
이 점을 이용하면 회색의 농도로 각 그래프들을 구별할 수 있다.
>>> x=np.linspace(-5, 5, 1000)
>>> gc=['1', '0.75', '0.5', '0.25']
>>>
for i in range(len(gc)):
y=np.random.normal(0, 1, size=100)
m, s= np.mean(y), np.std(y)
y1=normalFunS(x, m, s)
plt.plot(x, y1, color=gc[i])
plt.show()
댓글
댓글 쓰기