1. pip 설치하기(윈도우 / 맥 mac)
pip (파이썬 패키지 관리 시스템) 를 설치 안했다면? (맥 MAC) - 3.9 버전 기준
윈도우는 python3.9 말고 python 으로 하세요!
2. pip로 matplot 설치하기
(python -m pip install --upgrade pip) - pip 설치
윈도우
$ python -m pip install matplotlib
맥 mac 3.9 버전
$ python3.9 -m pip install matplotlib
matplot
데이터 시각화 라이브러리로 다양한 형태의 그래프 그리기 기능을 제공합니다.
인공 지능 연구 분야에 많이 활용하고 아래와 같이 작성해서 사용할 수 있습니다.
-import matplotlib.pyplot
– import matplotlib.pyplot as plt
기본 그래프 그리기
그래프를 그리는 함수에는 plot() , bar() , barh() 가 있고 인자로 ( x리스트 , y리스트)를 받습니다
import matplotlib.pyplot as plt
xdata = [1,2, 3,4]
ydata = [10 ,5 ,20 ,35]
#그래프
plt.plot(xdata , ydata)
plt.show()
#막대형 그래프
plt.bar(xdata , ydata)
plt.show()
#90도 회전한 막대 그래프
plt.barh(xdata ,ydata)
plt.show()
결과
그래프 추가 옵션
공통 옵션
- title('') : 제목을 표시
- legend() : 범레를 표시
plot의 옵션
- 색상 : rgb
- 모양 : . , ^ (원과 삼각형)
- 레이블 : label
import matplotlib.pyplot as plt
data1 = [1,2, 3,4]
data2 = [4 ,3 ,2 ,1]
plt.plot(data1, 'r.' , label='circle')
plt.plot(data2, 'g^' , label='triangle')
#그래프
plt.title("title of plot")
plt.legend()
plt.show()
실행결과
히스토그램 그리기
hist(리스트 )를 받으면 빈도수를 계산해서 히스토그램을 출력할 수 있습니다.
데이터가 연속변수이면 히스토그램으로 분석하기 힘드므로, bins 옵션을 이용해서 최대와 최소의 구간을 n개의 구간으로 나눠서 그래프를 그리는 것입니다.
# 히스토그램
import matplotlib.pyplot as plt
import csv
f=open('Seoul.csv' , encoding = "cp949")
data = csv.reader(f)
# 8월에 최고기온 값을 aug에 저장
aug = []
for row in data:
month = row[0].split('.')[1]
if row[-1]!=1:
if month=='8':
aug.append(float(row[-1]))
# bins -> 최대 최소값사이를 100개로 쪼개서 구간설정
plt.hist(aug , bins=100 , color='r')
plt.show()
출력결과
박스 그래프 그리기
박스 그래프(boxplot)는 최대,최소, 3/4 , 1/2 , 1/4값을 표현할수 있는 그래프입니다.
boxplot(데이터리스트)는 그 데이터를 이용해서 그래프를 그리고,
2차원 리스트를 받으면 각 리스트 항목에 대해서 각각 그래프를 그려서 출력합니다.
#기온 데이터를 상자그림으로 표현
import matplotlib.pyplot as plt
import csv
f=open('Seoul.csv' , encoding = "cp949")
data = csv.reader(f)
# [ [], [], [], [], ....] 리스트안에 12개의 개별 리스트 생성
month = []
for i in range(12):
mon = []
month.append(mon)
for row in data:
month[int(row[0].split('.')[1])-1].append(float(row[-1]))
plt.boxplot(month)
plt.show()
출력결과
원(파이)그래프 그리기
pie(데이터리스트 , 옵션들)함수를 이용하면 원 그래프를 그릴수 있습니다.
옵션들에는 다음과 같습니다
- labels : 각 조각의 이름
- color : 각 조각의 색깔
- autopct : 각 조각의 비율을 표현할 형식 ex) .1f 소수점 1자리
- explode : 조각의 돌출 정도
legend()를 이용하면 범례를 표시할 수 있습니다
import matplotlib.pyplot as plt
data = [10, 30 ,20 , 25]
label = ['A', 'B', 'C', 'D']
color = ['hotpink', 'darkmagenta', 'pink', 'deeppink']
plt.pie(data , labels=label , autopct="%.1f%%", colors=color , explode=(0, 0, 0.1, 0))
plt.legend()
plt.show()
출력결과
scatter 그래프 그리기
scatter 그래프는 이차원 맵에 점찍는 그래프 표현 방식 입니다.
인자로는 x값 , y값을 받고 아래와 같이 추가 옵션들을 받습니다.
- s : size로 , 각 점들의 크기값을 받습니다.
- c : color로 각 점들의 색상을 받지만 , cmap이 있으면 그것의 인덱스로 받을수있습니다.
- cmap : colormap으로 이번 실습에는 jet 맵을 가져오겠습니다.
colorbar() 함수를 쓰면 cmap을 컬러바 형식으로 옆에 출력할수 있습니다.
import matplotlib.pyplot as plt
xdata = [1,2,3,4]
ydata = [20, 10 ,30 , 50]
sizes = [10, 50, 100, 200]
plt.scatter(xdata , ydata , s=sizes , c=range(4) , cmap='jet')
plt.colorbar()
plt.show()
출력 결과
반응형
'알고리즘 PS (백준) > 🐍 Python (파이썬)' 카테고리의 다른 글
[백준 11660번] 누적 합 알고리즘 - 파이썬(python) (0) | 2022.10.02 |
---|---|
[백준 11659번] 누적 합 알고리즘-파이썬(python) (0) | 2022.10.01 |
[파이썬 python] Pandas 설치 및 활용 (데이터 프레임) (0) | 2022.06.07 |
[파이썬 python] : numpy 설치 및 활용 (배열 , 수학/행렬연산 , 코싸인 유사도) (0) | 2022.06.02 |
[파이썬 python] 클래스 (객체 , class) 만들기 (0) | 2022.06.02 |
댓글