본문 바로가기
파이썬/파이썬 시각화

Matploblib) 데이터 시각화 1편, 그래프 그리기, 스타일 적용하기 및 축 이름, 범주 설정, 해당 그래프가 어떤 데이터인지 명시해주기.

by SeH_ 2023. 1. 16.
반응형

나도코딩 유튜브를 참고하여 적었습니다! 


1. 그래프 그리기 

import matplotlib.pyplot as plt


x = [1,2,3]
y = [2,4,8]

plt.plot(x,y)
plt.show()

 

 

 

선을 두껍게 하는 방법입니다.

plt.plot(x,y, label = '데이터 1', linewidth = 5) #데이터의 선 두께가 굵어짐

 

 

Marker 스타일 입히기

꺾은선 그래프를 그리되, 실질적인 데이터가 있는 부분에 o를 형성시키는 방법입니다. 

lt.plot(x,y, marker = 'o') #데이터가 있는 곳에만 o가 생김

마찬가지로, 데이터가 있는 부분에만 o를 출력할 수 있습니다. 

plt.plot(x,y, marker = 'o', linestyle = 'None')

 

 

동그라미가 아닌 역삼각형으로 데이터를 표현하려면 다음과 같이 marker를 v로 바꿉니다.

plt.plot(x,y, marker = 'v', linestyle = 'None')

 

marker 크기도 변환할 수 있습니다.

plt.plot(x,y, marker = 'v', markersize= 10,linestyle = 'None')

 

 

 

plt.plot(x,y, marker = 'X', markersize= 10,linestyle = 'None')

 

markers의 종류를 더 알고 싶다면https://matplotlib.org/2.1.2/api/_as_gen/matplotlib.pyplot.plot.html를 들어가서 참고하시길 바랍니다.

 

 

plt.plot(x,y, marker = 'o', markersize= 10,markeredgecolor = 'red',markerfacecolor = 'yellow',linestyle = 'None')
plt.show()

 

 

 

 

 


그래프의 스타일 입히기

점선 데이터를 만들어 보겠습니다.

x = [1,2,3]
y = [2,4,8]

# 점선 데이터
plt.plot(x,y, linestyle = ':')
plt.show()

 

 

좀 더 두꺼운 점선 그래프를 만들어 보겠습니다.

 

plt.plot(x,y, linestyle = '--')
plt.show()

진짜 점선 그래프는 다음과 같습니다.

plt.plot(x,y, linestyle = '-.')

정말 점과 선으로 되어있는 그래프가 나왔습니다.

이러한 데이터는 바로 아래 링크에 더 설명되어 있습니다.

https://matplotlib.org/stable/gallery/lines_bars_and_markers/linestyles.html

 

Linestyles — Matplotlib 3.6.3 documentation

Note Click here to download the full example code Linestyles Simple linestyles can be defined using the strings "solid", "dotted", "dashed" or "dashdot". More refined control can be achieved by providing a dash tuple (offset, (on_off_seq)). For example, (0

matplotlib.org

그래프 색깔 입히기

plt.plot(x,y, color = 'pink', linestyle = '-.')

 

그래프 색깔 관련 더 많은 정보는 바로 아래 링크에 있습니다. 

https://matplotlib.org/stable/tutorials/colors/colors.html

 

Specifying colors — Matplotlib 3.6.3 documentation

Note Click here to download the full example code Specifying colors Color formats Matplotlib recognizes the following formats to specify a color. Format Example RGB or RGBA (red, green, blue, alpha) tuple of float values in a closed interval [0, 1]. (0.1,

matplotlib.org

 

 

위 방법을 포맷을 이용하여 한번에 데이터를 스타일링할 수 있습니다. 

plt.plot(x,y, 'ro--') # 1. color, 2. marker, 3. linestype
plt.show()

alpha 함수를 통해 투명도를 조절할 수 있습니다. 

plt.plot(x,y, 'ro--',alpha = 0.3)

 

2. 제목 설정 

# 데이터 시각화

import matplotlib.pyplot as plt
import matplotlib
# 맑은 고딕을 설정 
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
matplotlib.rcParams['font.size'] = 15 # 글자 크기
matplotlib.rcParams['axes.unicode_minus'] = False

x = [-1,2,3]
y = [2,4,8]

plt.plot(x,y)
# 제목 설정
#plt.title('Line Graph') # 한글 설정 시 에러가 생긴다.
plt.title('꺾은선 그래프',fontdict={'family': 'HYGungSo-Bold', 'size': 20}) #궁서체, 사이즈 바꿀 수 있음

 

주의해야 할 점

- 한글 제목을 쓸 때 에러가 생깁니다. 

따라서, matplotlib을 import 하고, font를 설정하면 됩니다. 

- x축, y축의 데이터가 음수일 때 에러가 생기게 됩니다.

이 같은 경우는, matplotlib.rcParams['axes.unicode_minus'] = False를 선언해 주면 됩니다. 

 

x, y 축의 제목을 설정하는 방법입니다. 

plt.xlabel('x축',color = 'red', loc = 'right') # left, center, right
plt.ylabel('y축', color = '#00aa00', loc = 'top')#top, center,bottom

 


3. x, y 축의 눈금을 xticks를 통해 설정할 수 있습니다. 

plt.xticks([1,2,3]) # x축 설정
plt.yticks([3,6,9,12]) # y 축 설정

 

4. 그래프가 어떤 데이터인지 명시해 주는 legend 함수

x = [1,2,3]
y = [2,4,8]

plt.plot(x,y, label = '데이터 1')



plt.legend(loc = 'upper left') #lower light, upper right, best(데이터가 없는 곳!)
# plt.legend(loc = (0.5,0.5)) 좌표를 지정합니다. (최대 1, 1)
plt.show()

5. 그래프 크기, 색깔 바꾸기

plt.figure(figsize=(10,5))
plt.plot(x,y, 'ro--',alpha = 0.3)

 

 

색깔 바꾸는 방법은 다음과 같습니다. 

plt.figure(facecolor='#a1c3ff')
plt.plot(x,y, 'ro--',alpha = 0.3) # 1. color, 2. marker, 3. linestype

plt.show()

 

댓글