관리 메뉴

DeseoDeSeo

[Python] matplotlib 본문

Python

[Python] matplotlib

deseodeseo 2023. 8. 23. 18:32
< 데이터 시각화 >
  - 광범위하게 분산된 방대한 양의 자료를 쉽게 볼 수 있도록 도표나 차트 등으로 정리하는 것.
    ( 산점도, 막대그래프. 원 그래프, 히스토그램..)
import matplotlib.pyplot as plt
y = [ 2, 4, 6 ]
plt.plot(y)
plt.show()
  • x라는 변수 축 범위 지정하지 않으면 자동으로 지정됨.
  • x와 y의 변수개수가 같지 않으면 오류가 난다.
  • plot- 선 그래프(Line plot)

비슷해보이지만 x축의 범위가 다르다.
y = [ 2, 4, 6 ]
x= [1,2,3]
plt.plot(x,y)
plt.show()

line style (= ls)
character description
- solid line style
-- Dashed line style
-. Dash-dot lint style
: Dotted line style
plt.plot(x,y,linestyle='--')
plt.show()

Marker
plt.plot(x,y,marker='o')
plt.show()

x=[2,4,6,8]
y=[10,13,16,20]
y2=[10,20,15,12]

plt.plot(x,y,ls='-', marker='o')     # 그래프 그리기
plt.plot(x,y2,ls=':')
plt.show()

line width ( lw ) : 선 두께
plt.plot(x,y, lw=3)
plt.show()

line color : 선 색상 변경
plt.plot(x,y, color='#ACFADF', marker='D')
plt.show()

 

 

Marker color ( markerfacecolor = mfc) 
plt.plot(x,y, color='#ACFADF', marker='D', mfc='#7C73C0')
plt.show()

 

markeredgecolor = mec : 마커 라인 색상
plt.plot(x,y, color='#ACFADF', marker='D', mfc='#7C73C0', mec='black')
plt.show()
  • color = c : 선 색깔
  • linewidth =lw : 선 굵기
  • linestyle = ls :선 스타일
  • markersize =ms : 마커크기
import numpy as np
x=np.arange(7)
y=[1,4,5,8,9,5,3]
plt.plot(x,y, ls='--',lw=5, marker='o', mec='green', mew=6, mfc ='red', markersize='15')

그래프 범위 지정
plt.plot(x,y, ls='--',lw=5, marker='o', mec='green', mew=6, mfc ='red', markersize='15')
plt.xlim(-2,8)
plt.grid() # 배경 격자무늬
plt.show()

tick - 그래프 축의 위치
plt.plot(x,y, ls='--',lw=5, marker='o', mec='green', mew=6, mfc ='red', markersize='15')

plt.xticks([0,3,6])   # x 축 틱 설정
plt.yticks([1,2,3])   # y 축 틱 설정
plt.grid() # 배경 격자무늬
plt.show()

여러 plot 그리기
x =[1,2,3,4]
y=[2,4,6,8]
z= [3,6,9,12]

plt.plot(x, label='x')
plt.plot(y, label='y')
plt.plot(z, label='z')
plt.legend()
plt.show()

한글 지원 폰트로 변경
from matplotlib import rc
rc('font', family='Malgun Gothic')​
plt.plot(x, label='엑스')
plt.plot(y, label='와이')
plt.plot(z, label='제트')
plt.xlabel('x축')
plt.ylabel('y축',rotation=0) # 90이 디폴트임.
# 그래프의 이름
plt.title('x, y, z 그래프')
plt.legend()
plt.show()

'Python' 카테고리의 다른 글

[Crawling] 음원 순위 데이터 수집  (0) 2023.08.24
[Crawling] Request 사용법  (0) 2023.08.24
[Python] CrimeData 실습  (0) 2023.08.23
[Python] DataFrame 병합  (0) 2023.08.23
[Python] TrainData 실습  (0) 2023.08.23