Python 데이터 시각화 하는 방법 (Histograms ,pyplot, legend )

2022. 9. 5. 19:58빅데이터 파이썬 기반

728x90

안녕하세요 오늘은 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가지를 배웠다고 볼 수 있습니다 

 

감사합니다 

 

728x90