데이터 시각화 matplotlib 라이브러리 기초 2탄!
저번 시간에 이어서 이번에는 그래프 커스터마이징을 해보는 시간을 가져볼 예정이다.
t = np.arange(0,5, 0.5)
t
array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])
import matplotlib.pyplot as plt
plt.figure(figsize=(10,6))
plt.plot(t, t, "r--")
plt.plot(t, t**2, "bs")
plt.plot(t, t**3 ,"g^")
plt.show()
결과를 확인해보면
2~4번째 줄을 잘 보면 "r--" ,"bs", "g^" 이라는 표시가 있는데, 이것은 각 색깔과 모양을
나타내준다. r-- 은 red색의 점섬의 --형태로 해달라는 의미이다.
외울 필요는 없다고한다. 그렇지만 자주 사용하는 것들은 외워두어도 좋을 것 같다.
(아니..외워지겠지......)
plt.figure(figsize=(10,6))
plt.plot(
t,
y,
color="red",
linestyle="dashed",
marker="o",
markerfacecolor="blue",
markersize=15,
)
plt.xlim([-0.5, 6.5]) # x축데이터
plt.ylim([0.5, 9.5]) # y축데이터
plt.show()
이렇게 다양하게 사용할 수 있다.
이것도 함수에 담아서 사용하면 더 간편하다.
def drawGraph():
plt.figure(figsize=(10,6))
plt.plot(
t,
y,
color="red",
linestyle="dashed",
marker="o",
markerfacecolor="blue",
markersize=15,
)
plt.xlim([-0.5, 6.5]) # x축데이터
plt.ylim([0.5, 9.5]) # y축데이터
plt.show()
drawGraph()
t = np.array(range(0,10))
y = np.array([9,8,7,9,8,3,2,4,3,4])
마찬가지로 데이터를 하나 만들어주고,
plt.figure(figsize=(10,6))
plt.scatter(t, y)
plt.show()
이번에는 plt.plot 이 아닌 scatter 플롯으로 생성이 가능하다.
scatter plot 은 선이 아닌 점 하나씩 찍혀있는 그래프를 그려준다.
원하는 모양의 그래프를 커스터마이징을 할 수 있다는 것을 기억하자.
마찬가지로 함수에 넣어서 사용하는 버릇을 함께 들여보자.
def drawGraph():
plt.figure(figsize=(10,6))
plt.scatter(t, y)
plt.show()
drawGraph()
가로축을 조금 늘려서
def drawGraph():
plt.figure(figsize=(20,6))
plt.scatter(t, y)
plt.show()
drawGraph()
이렇게 조금 더 넓게도 볼 수가 있다.
그럼 이번에도 커스텀을 진행해 보겠다.
colormap = t
def drawGraph():
plt.figure(figsize=(20,6))
plt.scatter(t, y , s=50, c=colormap, marker=">")
plt.colorbar()
plt.scatter(t, y)
plt.show()
drawGraph()
data_result.head()
이전에 사용했던 데이터를 다시 불러와 줍니다.
data_result["인구수"].plot(kind='bar', figsize=(5,5))
위에 그래프 에서 인구수에 대한 부분만 보고 싶다면 위에처럼 bar 형식으로 한 번 해보면
이렇게 bar 형식의 그래프를 확인 할 수 있다.
만약 글씨가 잘 보이지 않는다고 하면 barh 로 변경해주면 가로로 볼 수가 있다.
data_result["인구수"].plot(kind='barh', figsize=(5,5))
여기까지 matplotlib 기초활용 단계를 예제로 풀어보았는데,
아무래도 matplotlib 도 공식홈페이지에서 사용방법을 훑어보는게 가장 좋다.
다음 시간에는 기대되는 CCTV 데이터로 그래프를 표현해 보는 시간이다.
보안회사에서 일하면서 가장 많이 보는 데이터가 CCTV 영상/이미지 데이터이다.
그런데 이번에는 벌써 이미지데이터는 아닐 것 같은데 CCTV 메타데이터 일 것 같긴 하다.
어떤 데이터들이 준비되어 있을지 기대가 된다.