1. 그래프의 선 색상을 지정하는 여러방법

(아래 예시에서 x의 값 증감시키는 이유는 그래프에서 선이 겹치지 않게 하기 위해서)

plt.plot(x,np.sin(x), color = 'blue')                          # 색상 파랑으로 지정 
plt.plot(x,np.sin(x-1), color = 'g')                           #약어 사용, g = green     
plt.plot(x,np.sin(x-2), color ='0.75')                        # 0~1사이에서 0이면 검정 1이면 흰색  
plt.plot(x,np.sin(x-3), color = '#FFDD44')                # RGB 의 각각의 자리를 16진수 두자리로 표현
plt.plot(x,np.sin(x-4), color = (1.0,0.2,0.3))              # RGB의 각각의 자리를 0-1의 정도로 표현
plt.plot(x,np.sin(x-5), color = 'chartreuse')             # 색상 이름 직접 지정

-파랑과 검정은 둘다 b로 시작해서 헷갈리는데, 사실 검정의 약어는 k라서 괜찮다.

rgb = 모니터 출력에 주로 쓰는 빛의 삼원색(레드/그린/블루)

cmyk = 인쇄 출력에 주로 쓰는 색의 삼원색 (시안/마젠타/옐로우/블랙)

어떤 색상의 약어는 rgb를 어떤 색상의 약어는 cmyk를 쓴다.

2. 선의 종류

plt.plot(x,x+0, linestyle = 'solid')                   
plt.plot(x,x+1, linestyle = 'dashed')
plt.plot(x,x+2, linestyle = 'dashdot')
plt.plot(x,x+3, linestyle = 'dotted')
 

기호로 나타내면 이렇다▽

plt.plot(x,x+4, linestyle = '-')
plt.plot(x,x+5, linestyle = '--')
plt.plot(x,x+6, linestyle = '-.')
plt.plot(x,x+7, linestyle = ':')
 

3. 선 스타일+색상 함께 쓰기

 
plt.plot(x,x+0, '-g')                 #solid green
plt.plot(x,x+1, '--c')                # dashed cyan
plt.plot(x,x+2, '-.k')                # dashdot black
plt.plot(x,x+3, ':r')                 # dotted red

1.지원 가능한 이미지 확장자 종류를 보고 싶을 때

fig.canvas.get_supported_filetypes()  

출력>
{'eps': 'Encapsulated Postscript',
 'jpg': 'Joint Photographic Experts Group',
 'jpeg': 'Joint Photographic Experts Group',
 'pdf': 'Portable Document Format',
 'pgf': 'PGF code for LaTeX',
 'png': 'Portable Network Graphics',
 'ps': 'Postscript',
 'raw': 'Raw RGBA bitmap',
 'rgba': 'Raw RGBA bitmap',
 'svg': 'Scalable Vector Graphics',
 'svgz': 'Scalable Vector Graphics',
 'tif': 'Tagged Image File Format',
 'tiff': 'Tagged Image File Format',
 'webp': 'WebP Image Format'}

2. 이미지 저장

fig.savefig('파일이름.png')

3. 저장된 이미지 불러오기

이미지 다루는 모듈도 불러와야 한다.

​

from IPython.display import Image Image('my_figure.png')

1. 그래프 두가지를 동시에 표시하기

주피터노트북은 셀단위로 작동하니까 위에 그래프 그리는 두 명령을 한셀에다 해주면 됨

plt.plot(x, np.sin(x)) plt.plot(x, np.cos(x))

이번엔 보다 세밀한 제어가 가능하게 figure라는 그림판(?)을 직접 만들고 두 그래프를 올려보자, 선의 타입 등은 나중에 다시 다룰 예정

fig = plt.figure() # 그림판 만들기 plt.plot(x, np.sin(x), '-') # '-'/'--'은 선의 타입을 나타낸다. '-'solid line / '--' dash line /'.' dot /'-.' dashdot plt.plot(x, np.cos(x), '--')

2. 화면 분할하여 그래프 표시하기

1. 일단 그림판을 정의해준다

plt.figure()

2. 앞서 만든 그림판 안에 작은 그림판 생성한다subplot. 위치를 (rows,columns,panel number )정해준다

3. subplot 명령 아래 그 위치 해당하는 그래프 작성

plt.subplot(2,1,1)                 
plt.plot(x, np.sin(x)) 
plt.subplot(2,1,2)  
plt.plot(x, np.cos(x))

시각화 도구 중 하나인 matplotlib 패키지를 배워보자

matplotlib

-머신러닝을 위한 데이터를 시각화할 수 있는 패키지

-c언어로 개발된 것이 오리지널이나 python으로 감싸져서 나온 패키지로 또 나왔다. 또 시각화되는 표의 스타일을 지정할 수도 있다.


1. 임포트

import matplotlib as mpl
import matplotlib.pyplot as plt            # 원본 패키지와 파이썬으로 감싸놓은 버전 임포트

2. 스타일 지정

plt.style.use('classic')               # 스타일의 경우에는 여러 테마가 있는데 원하면 인터넷 찾아보고 선택해라
​
3. 예시용 표를 만들어 보자
import numpy as np
x = np.linspace(0,10,100)              # 0에서 10사이에 100개의 값을 만들어라 , linspace: 특정 사이 값을 원하는 만큼 만들기
x

출력>
array([ 0.        ,  0.1010101 ,  0.2020202 ,  0.3030303 ,  0.4040404 ,
        0.50505051,  0.60606061,  0.70707071,  0.80808081,  0.90909091,
        1.01010101,  1.11111111,  1.21212121,  1.31313131,  1.41414141,
        1.51515152,  1.61616162,  1.71717172,  1.81818182,  1.91919192,
        2.02020202,  2.12121212,  2.22222222,  2.32323232,  2.42424242,
        2.52525253,  2.62626263,  2.72727273,  2.82828283,  2.92929293,
        3.03030303,  3.13131313,  3.23232323,  3.33333333,  3.43434343,
        3.53535354,  3.63636364,  3.73737374,  3.83838384,  3.93939394,
        4.04040404,  4.14141414,  4.24242424,  4.34343434,  4.44444444,
        4.54545455,  4.64646465,  4.74747475,  4.84848485,  4.94949495,
        5.05050505,  5.15151515,  5.25252525,  5.35353535,  5.45454545,
        5.55555556,  5.65656566,  5.75757576,  5.85858586,  5.95959596,
        6.06060606,  6.16161616,  6.26262626,  6.36363636,  6.46464646,
        6.56565657,  6.66666667,  6.76767677,  6.86868687,  6.96969697,
        7.07070707,  7.17171717,  7.27272727,  7.37373737,  7.47474747,
        7.57575758,  7.67676768,  7.77777778,  7.87878788,  7.97979798,
        8.08080808,  8.18181818,  8.28282828,  8.38383838,  8.48484848,
        8.58585859,  8.68686869,  8.78787879,  8.88888889,  8.98989899,
        9.09090909,  9.19191919,  9.29292929,  9.39393939,  9.49494949,
        9.5959596 ,  9.6969697 ,  9.7979798 ,  9.8989899 , 10.        ])

4.명령어로 표 그리기. 괄호안에는 순서대로 (x,y) 값이다.

plt.plot(x,x)

4-1. numpy로 만든 sin값을 y축으로 한 그래프

plt.plot(x, np.sin(x))           # x축은 0부터 10까지 계속 증가가 되는데 np.sin(x)의 값은 상승-하강-상승-하강을 한다.

4-2. numpy로 만든 cos 그래프를 그려보자

plt.plot(x,np.cos(x))            # 코싸인 버전
 

 

 

 

이런식으로 그래프를 그릴 때 sin, cos 그래프가 찌그러져 있다면 데이터에 노이즈가 있다는 뜻이다.

+ Recent posts