본문 바로가기

데이터 분석

Matplotlib 기본 라인 그래프 만들기

반응형

 

 

데이터분석은 데이터에서 인사이트를 발견하고 발견한 사실을 데이터에 대한 지식이 없는 분들도 쉽게 이해할 수 있도록 데이터를 시각화하는 작업이 필요합니다. 파이썬에서 제공하는 Matplotlib 라이브러리를 사용하면 데이터시각화에 도움이 되는 다양한 그래프를 만들 수 있습니다. Matplotlib를 사용하여 기본 라인 그래프를 만드는 방법을 알아보겠습니다. 출발합니다! 

 

 

 
 

직선 라인 그래프

 

 

import matplotlib.pyplot as plt

 

 

Matplotlib 라이브러리를 사용하려면 "import matplotlib.pyplot as plt" 라인을 입력해야 합니다. Matplotlib 라이브러리를 불러온다는 의미이며 as 뒤에는 사용하기 편한 아무 별칭을 입력하면 됩니다. 

 

 

import numpy as np

 

 

numpy도 사용하기 위해 numpy 라이브러리도 불러옵니다. 

 

 

x = np.arange(0,10)
y = 2 * x

 

 

그래프의 x 및 y 축 값을 임의로 지정합니다. np.arange(0,10)가 0부터 9까지의 수를 반환하기 때문에 x 값은 0부터 9입니다. y값은 각 x 값에 2를 곱한 값입니다. 

 

 

fig = plt.figure()

 

 

plt.figure 함수는 빈 캔버스를 만들어줍니다. 

 

 

axes = fig.add_axes([0, 0, 1, 1])

 

 

add_axes 함수를 이용해 그래프의 크기를 지정합니다. 4개의 인자 값을 넣어 그래프의 크기를 정할 수 있습니다. 각 인자는 왼쪽부터 left, bottom, width, 그리고 height를 의미합니다. 인자 값은 0부터 1 사이에서 지정할 수 있습니다.  

 

 

axes.plot(x, y)

 

 

plot 함수를 이용해 방금 전에 임의로 만든 x 및 y 축 값으로 axes 라인 그래프를 만듭니다.

 

 

plt.show()

 

 

 

 

plt.show 함수를 사용해 만들어진 라인 그래프를 확인합니다. x 값에 따라 y 값이 같은 비율로 증가하기 때문에 직선 라인 그래프가 만들어졌습니다. 

 

 

 
 

곡선 라인 그래프

 

 

a = np.linspace(0,10,11)
b = a ** 4

 

 

그래프의 x 및 y 축 값을 임의로 지정합니다. np.linspace(0,10,11)가 0부터 10까지 총 11개의 수를 반환하기 때문에 a 값은 0부터 10입니다. b값은 각 x 값에 4 제곱한 값입니다. 

 

 

fig = plt.figure()

 

 

plt.figure 함수는 빈 캔버스를 만들어줍니다. 

 

 

axes = fig.add_axes([0, 0, 1, 1])

 

 

add_axes 함수를 이용해 그래프의 크기를 지정합니다. 4개의 인자 값을 넣어 그래프의 크기를 정할 수 있습니다. 각 인자는 왼쪽부터 left, bottom, width, 그리고 height를 의미합니다. 인자 값은 0부터 1 사이에서 지정할 수 있습니다.  

 

 

axes.plot(a, b)

 

 

plot 함수를 이용해 방금 전에 임의로 만든 x 및 y 축 값으로 axes 라인 그래프를 만듭니다.

 

 

plt.show()

 

 

 

 

plt.show 함수를 사용해 만들어진 라인 그래프를 확인합니다. x 값에 따라 y 값이 급격하게 증가하기 때문에 곡선 라인 그래프가 만들어졌습니다. 

 

 

 
 

복수의 그래프 만들기

 

 

fig = plt.figure()

 

 

plt.figure 함수는 빈 캔버스를 만들어줍니다. 

 

 

axes1 = fig.add_axes([0, 0, 1, 1])
axes2 = fig.add_axes([0.2, 0.2, 0.5, 0.5])

 

 

add_axes 함수를 이용해 그래프의 크기를 지정합니다. 큰 크기의 그래프 하나와 작은 크기의 그래프 하나를 만들어줍니다.

 

 

axes1.plot(a, b)

 

 

plot 함수를 이용해 방금 전에 임의로 만든 x 및 y 축 값으로 axes1 라인 그래프를 만듭니다.

 

 

axes1.set_xlabel('X Label')
axes1.set_ylabel('Y Label')
axes1.set_title('Big Figure')

 

 

set_xlabel, set_ylabel, 그리고 set_title 함수는 각각 그래프의 x축 항목 이름, y축 항목 이름, 그리고 전체 그래프의 이름을 지정합니다. axes1 그래프의 x축 항목 이름, y축 항목 이름, 그리고 이름을 지정합니다.

 

 

axes2.plot(a,b)
axes2.set_title('Small Figure');

 

 

이번에는 plot 함수를 이용해 방금 전에 임의로 만든 x 및 y 축 값으로 axes2 라인 그래프를 만듭니다. axes2 라인 그래프의 이름도 지정합니다. ;으로 코드 입력을 완료합니다.

 

 

 

 

결과를 보면 2개의 곡선 라인 그래프를 확인할 수 있습니다. 하지만 2개의 그래프가 겹쳐있어 가독성이 안 좋기 때문에 작은 그래프를 조금 더 작게 만들어보겠습니다. 

 

 

axes2.set_xlim(8,10)
axes2.set_ylim(4000,10000)
axes2.set_xlabel('X')
axes2.set_ylabel('Y')
axes2.set_title('Zoomed In');

 

 

xlim과 ylim 함수를 사용하면 x값과 y값 범위를 조절할 수 있습니다. 

 

 

 

 

 
 

캔버스 크기 조절

 

 

fig = plt.figure(figsize=(12,8),dpi=100)

axes1 = fig.add_axes([0, 0, 1, 1])

axes1.plot(a,b)

 

 

그래프가 그려지는 캔버스의 크기도 변경할 수 있습니다. plt.figure에 figsize와 dpi 인자 값을 지정하여 크기를 변경하면 됩니다. figsize의 인자값은 가로와 세로 크기입니다. dpi는 해상도를 의미합니다.

 

 

 

 

 
 

그래프 PNG 출력

 

 

fig.savefig('figure.png',bbox_inches='tight')

 

 

생성된 그래프는 savefig 함수를 사용하여 PNG로 저장할 수 있습니다. 파일 이름과 파일 형식을 png로 지정하고 bbox_inches='tight'를 입력합니다. bbox_inches='tight'를 입력하면 이미지 크기를 자동으로 조절합니다. 

 

 

 

 


 

 

 

 

Pandas 피벗 테이블 만들기

데이터프레임의 데이터가 복잡하고 많으면 원하는 정보를 얻기 힘듭니다. 데이터를 정렬하여 원하는 정보를 빨리 찾기 위해서 피벗 테이블을 활용할 수 있습니다. 판다스의 피벗 테이블은 엑셀

thespud.kr

 

 

 

Pandas Null값 관련 함수

데이터분석을 할 때 가장 방해되는 요소 중 하나가 Null값 입니다. 특히, 숫자의 계산이 필요한 경우 null값은 계산의 부정확성을 증가시킵니다. 임의로 값을 변경할 경우 정확한 분석을 할 수 없

thespud.kr

 

 

 

Pandas 활용도 높은 함수

Pandas에는 다양한 함수가 있습니다. 그중에서 활용도가 높은 함수 몇 가지를 알아보도록 하겠습니다. CSV 파일 불러오기 df = pd.read_csv('tips.csv') Jupyter Notebook을 사용하는 경우, 불러오고자 하는 CSV

thespud.kr

 

반응형