matplotlib를 이용해 여러개의 그래프로 나오게 하겠습니다. subplot을 이용하면 가능한데 먼저 예제를 통해 설명하겠습니다. import matplotlib.pyplot as plt import numpy as np y = np.random.standard_normal((10,2)) y 2차원 데이터입니다. 2차원 데이터는 그래프가 column별로 나눠지므로 2개의 그래프가 나타나게 됩니다. 이 그래프를 한곳에 넣지 말고 각각 나눠서 넣기 위해 subplot을 사용합니다. plt.subplot(211) plt.plot(y[:,0],label='1column') plt.plot(y[:,0],'ro') plt.legend(loc=0) plt.subplot(212) plt.plot(y[:,1],lab..
matplotlib를 이용해 n차원 데이터를 그리는 방법을 살펴볼까 합니다. 2차원을 먼저 살펴보고 n차원을 그려보겠습니다. n차원 사실상 숫자가 정해져 있지 않으니 n=10으로 정하겠습니다. n차원이라 해서 어려운 건 없고 하나의 plot에 그래프 갯수가 n개 나온다는 것뿐입니다. 2차원 데이터 랜덤으로 (10,2) 모양의 데이터를 가져오겠습니다. import matplotlib as plt import numpy as np y = np.random.standard_normal((10,2)) y 그래프를 그리면 첫번째 column과 두번째 column으로 나눠집니다. plt.plot(y,lw=1.5) plt.plot(y,'ro') 2차원이라서 두개로 나눠집니다. n차원이라면 n으로 나눠지게 됩니다. 구..
그래프 영역을 채우는 방법을 소개합니다. fill_between() fill_betweenx() fill 세가지 함수로 실행할 수 있는데요. 범위를 정해주면 그 범위에 맞게 그려주게 됩니다. x축을 기준으로 한다면 fill_between()을 y축을 기준으로 한다면 fill_betweenx()을 하고 fill은 임의의 영역을 채울 때 사용합니다. 사용예제를 보겠습니다. fill_between() fill_between()은 x축에서 제가 정한 범위까지 영역이 채워집니다. 리스트로 x,y가 이루어져 있으므로 인덱싱으로 범위를 표시하면 됩니다. import matplotlib.pyplot as plt x = [1,2,3,4,5] y = [2,4,6,8,10] plt.plot(x,y) plt.fill_betw..
matplotlib의 라벨 붙이는 방법에 대해 알려드리겠습니다. 예를 위해 데이터를 준비했습니다. x는 x축에 있는 값이고 y는 y을 따라 움직이는 점들입니다. 보시다시피 y=2x인 함수입니다. import matplotlib.pyplot as plt x = [1,2,3,4,5,6,7,8,9,10] y = [2,4,6,8,10,12,14,16,18,20] 그래프를 그려보겠습니다. plt.plot(x,y) loc 여기다가 이제 라벨을 붙입니다. 단순하게 라벨을 붙이면 안됩니다. plt.plot(x,y,label='y=2x') 반드시 legend를 추가적으로 써줘야합니다. plt.plot(x,y,label='y=2x') plt.legend(loc='upper right') 라벨을 붙였습니다. 그런데 위치를 ..
이번 포스팅에서는 matplotlib 로 그린 그래프 안에 글씨를 넣는 방법을 설명할까 합니다. 아래와 같은 그래프를 그렸습니다. 보시다시피 주기함수입니다. 저는 이 주기함수의 최대값과 최소값에다 각각 max,min 이라 표시를 하고 싶습니다. 이럴 때 text 메쏘드를 씁니다. 파라미터를 보면 x, y, s, fontdict , withdash , 기타등등으로 되어 있습니다. 그래프는 좌표평면에 그리게 됩니다. 좌표평면에서 (x,y)로 좌표표시를 하는데 거기에서의 x, y 가 text 파라미터의 x,y 가 됩니다. s 는 내가 넣을 문구를 넣으시면 되고 글자 크기와 색깔, 글자위치만 잘 지정해도 나쁘지 않으니 그 부분에 대해서만 설명하겠습니다. max, min 표시하기 max와 min 을 그래프에 표시..
matplotlib 에서 한글로 출력이 안 되는 경우가 있는데 이건 matplotlib에서 제공하는 기본폰트가 한글 font를 가지고 있지 않아서 그렇습니다. 그래서 title 부분을 한글로 해서 출력했더니 네모로만 표시되어 있습니다. 이런 경우 font를 변경해주어야 합니다. 다음과 같이 변경합니다. 저는 나눔고딕(NanumGothic) 폰트를 설정했습니다. >>> import matplotlib.pyplot as plt >>> plt.rc('font',family='NanumGothic') >>> print(plt.rcParams['font.family']) ['NanumGothic'] 이렇게 했는데 설정이 안되거나 'Font family [] not found' 에러가 뜨면 다음과 같이 합니다. 먼..