DeseoDeSeo
[Python] matplotlib 본문
< 데이터 시각화 >
- 광범위하게 분산된 방대한 양의 자료를 쉽게 볼 수 있도록 도표나 차트 등으로 정리하는 것.
( 산점도, 막대그래프. 원 그래프, 히스토그램..)
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 |