Python 데이터 시각화 하는 방법 (Histograms ,pyplot, legend )
안녕하세요 오늘은 Python으로 데이터 시각화하는 방법을 알려드리려고 합니다 요즘 너무 나태해진 탓에
Python 데이터 시각화 공부에 너무 안 했다는 생각에 오늘도 쉬려고 했지만 이제 더 가면 나태해질 것 같아서
ㅎㅎ 네 이제 이상한 소리는 집어치우고 바로 파이썬 데이터 시각화하는 방법에 대해서 소개하겠습니다.
일단 시작 하기에 앞서서
window : conda install matplotlib
mac:sudo yum install python-matplotlib
을 다운로드 하셔야 합니다! 앞에서 말씀드렸지만 혹시 못 보신 분을 위해 위에 방법으로 다운로드해주세요
1 데이터 시각화 한후에 x축 y 축으로 다시 정렬 ( 2차 함수처럼 만들기)
import matplotlib.pyplot as plt // 다운로드한 matpltlib import
import numpy as np // numpy import
x = np.arange(-2*np.pi,2*np.pi,0.01)
y = np.sin(3*x)/x
y2 = np.sin(2*x)/x
y3 = np.sin(x)/x
plt.plot(x,y,'k--',linewidth=3)
plt.plot(x, y2, 'm-.')
plt.plot(x, y3, color='#87 a 3 cc', linestyle='--')
이렇게 만들면 위와 같은 그래프가 만들어지는데요 컴퓨터는 픽셀 단위로 계산을 해서 왼쪽
맨 위인 곳이 0,0으로 계산하여 그림을 그립니다
In [ ]: import matplotlib.pyplot as plt
...: import numpy as np
...: x = np.arrange(-2*np.pi,2*np.pi,0.01)
...: y = np.sin(3*x)/x
...: y2 = np.sin(2*x)/x
...: y3 = np.sin(x)/x
...: plt.plot(x, y, color='b')
...: plt.plot(x, y2, color='r')
...: plt.plot(x, y3, color='g')
...: plt.xticks([-2*np.pi, -np.pi, 0, np.pi, 2*np.pi],
[r'$-2\pi$', r'$-\pi$', r'$0$', r'$+\pi$', r'$+2\pi$'])
...: plt.yticks([-1,0,+1,+2,+3],
[r'$-1$', r'$0$', r'$+1$', r'$+2$', r'$+3$'])
...: ax = plt.gca()
...: ax.spines ['bottom']. set_position(('data',0))
...: ax.spines ['left']. set_position(('data',0))
위와 같이 0,0을 그래프상 0,0으로 시작하게 할 수 있는 방법입니다 plt.gca()를 사용하여
ax 객체를 얻어냅니다 그 후 ax.spines ['bottom']. set_position(('data',0)) 이렇게 하면 밑에 y축에
값을 맞추겠다는 뜻이고
ax.spines ['left']. set_position(('data',0)) 이것은 왼쪽에 있는 축 즉 y 축을 0,0으로 맞추겠다는 뜻이다
그래서 저렇게 2차 함수의 sin그래프가 그려질 수 있습니다
2 데이터 시각화 레전드 설정 하기
만들어준 그래프에 plt.legend(data (딕셔너리) , loc = 2) 하면 딕셔너리의 key 값대로 보이기 좋은 곳에 알아서 레전드가 생겨 데이터 시각화가 됩니닷
3 데이터 Histograms으로 시각화 하기
데이터 시각화 중에 Histograms 은 매우 중요한 개념입니다 Histograms의상상치도 못한 한글이 아닌 기괴한 한글이 나오게 되는데요 히스토그램 (Histograms) 막대로 나와있는 분포량이라고 생각하시면 됩니다 한글로 설명하기 매우 어려우니 사진을 보면서 설명해드리겠습니다
import matplotlib.pyplot as plt
...: import numpy as np
...: pop = np.random.randint(0,100,100)
...: pop
n, bins, patches = plt.hist(pop, bins=20)
이렇게 plt.hist 그램을 그리면 옆과 같은 사진이 나오는 것을 알 수 있습니다
히스토그램을 만드는 방법은 매우 쉬운 데요 plt.hist 하고 만들어준 list 나 ndarray 값을 넣어주면 자동으로 히스토 그램을 만들어주는데요 bins=20 무엇이냐고요? 가로축으로 20 개의 데이터로 만들어주겠다는 뜻이다 한번 머리를 세어보세요 총 20개입니다!!
이 정도면 데이터 시각화의 가장 필요한 3가지를 배웠다고 볼 수 있습니다
감사합니다