csv.reader() : csv 파일에서 데이터 읽어오기
csv.writer() : csv 파일에 데이터 저장
데이터는 완전무결한 것이 아님
헤더: 여러 값들의 의미를 표시한 행 (자료구조- 사용설명서같은 것)
-> 각 데이터가 어떤 의미 갖는지 알 수 있음.
next() : 데이터의 첫 번째 행을 읽어오고, 데이터 탐색 위치를 다음 행으로 이동시킴. 헤더 별도 지정 시 사용!
[그래프]
matplotlib.pyplot : matplotlib 라이브러리 안의 pyplot 모듈
plot() : 직선/꺾은선 그래프
hist() : 히스토그램. 막대그래프
[기본 그래프 그리는 방법]
1. import matplotlib.pyplot as plt : 라이브러리 import
2. plt.plot([x축데이터], [y축데이터]) : plot()함수에 데이터 입력
plot()안에 리스트 1 개: y축 값으로 입력됨.
plot()안에 리스트 2 개: 첫번째 리스트는 x축 값, 두번째 리스트는 y축 값
3. plt.show() : 그래프 결과 보여줌
title() : 그래프 위에 제목 넣기 (영어로)
제목을 한글로 넣었을 때 글자가 깨지는 문제를 해결하기 위해, 한글 입력 시 title() 위에 아래 코드 작성
plt.rc('font', family = 'Malgun Gothic') # 맑은고딕체 설정
'-' 문자의 깨짐 방지 위해 아래 코드 작성
plt.rcParams['axes.unicode_minus'] = False
legend() : 레이블 값을 범례로 나타내는 함수.
레이블 값은 plot([1,2,3,4], label='mark1') 처럼 label=' '으로 plot()에 넣어줌.
legend(loc=5) 처럼 써서 범례의 위치 지정 가능. 0~10까지 넣을 수 있음
위치↘
2 | 9 | 1 |
6 | 10 | 5, 7 |
3 | 8 | 4 |
- 그래프 색상 변경 :
plt.plot([1,2,3,4], color = 'skyblue', label = 'skyblue')
또는
plt.plot([1,2,3,4], 'skyblue')
기본 색 약자 표기 가능:
r - red / g - green / b - blue / k - black / y- yellow
색상 이름 확인 : http://bit.ly/2U5toVX
- 그래프 선 모양 변경:
plt.plot([1,2,3,4], 'skyblue', linestyle = '--', label = 'dashed')
색상과 선 모양 동시 작성 : <색상><선 모양>
plt.plot([1,2,3,4], 'r--', label = 'dashed')
- 마커 모양 변경:
plt.plot([1,2,3,4], 'r.', label = circle) # 빨간색 원형 마커
색상, 마커모양, 선 모양 동시 작성 : <색상><마커 모양><선 모양>
plt.plot([1,2,3,4], 'r^--', label = tryangle) # 빨간색 삼각형 마커, 선 모양은 --
- 그래프 크기 조절:
plt.figure(figsize = (가로길이, 세로길이)) # 단위는 인치
plt.figure(figsize = (가로길이, 세로길이), dpi=300) # dpi는 그래프 그림 자체의 크기
▷ hist() 히스토그램
hist(리스트, bins=100, color = 'r', label = 'abc')
bins는 가로축의 구간 개수
▷ boxplot() : 상자그림
데이터의 최댓값, 최솟값, 1/4, 1/2, 3/4에 위치한 값을 상자 형태로 보여주는 그래프.
다른 값들에 비해 너무 크거나 작은 값은 동그라미로 표현됨. (이상치)
plt.style.use('ggplot') : 그래프 스타일 지정. ()안에 원하는 스타일을 작성하면 됨.
print(plt.style.available) 코드를 작성하면 적용 가능한 스타일의 이름들 확인 가능
plt.boxplot(result, showfliers=False) : 아웃라이어(이상치)값 생략
▷ bar() : 수직 막대그래프
bar(막대를 표시할 위치(x축), 막대 높이(y축))
▷ barh() : 수평 막대그래프
barh(막대를 표시할 위치(y축), 막대 높이(x축))
# 막대를 표시할 위치는 range로 표현할 수 있음. ex) bar(range(101), data)
▷ xticks() : 눈금 레이블 지정
xticks([x축 위치], [레이블], rotation = 90 ) # rotation은 레이블 텍스트 회전하는 것(생략 가능)
▷ pie() : 원그래프. 파이차트
pie([데이터1, 데이터2, ...]) # 데이터 크기 따라 원그래프 비율 결정
- 레이블 작성:
pie(데이터, labels = 레이블) # 레이블은 데이터 순서에 맞게 리스트에 넣어서 할당
- 값 표시 형태 설정:
pie(데이터, labels = 레이블, autopct = '%.1f%%') # autopct는 값을 표시할 형태. '%.1f%%'는 실수형으로 소숫점 첫번째까지 표현하겠다는 뜻
- 색 설정 & 특정 비율 돌출 표현:
pie(데이터, labels = 레이블, autopct = '%.1f%%', colors = 색, explode = (0, 0, 0.1, 0))
# 색은 데이터 순서에 맞게 리스트에 넣어 각 레이블마다 색상 변경 가능. (color = ['black', 'pink', 'skyblue', 'blue'])
# explode는 특정 비율을 돌출표현하는 것. 0은 돌출 x라는 뜻
- 시작 각도 설정:
pie(데이터, labels = 레이블, autopct = '%.1f%%', colors = 색, explode = (0, 0, 0.1, 0), startangle = 90)
# startangle은 파이차트 기본 시작 지점(3시방향)에서 반시계방향으로 설정 각도만큼 이동
plt.axis('equal') : 원그래프를 동그란 원으로 표현하는 방법
▷ scatter() : 산점도, 버블차트
scatter([x축 데이터], [y축 데이터])
- 점의 사이즈 조절:
scatter(x축데이터, y축데이터, s = [사이즈])
- 점 색 설정:
scatter(x축데이터, y축데이터, s = [사이즈], c = [색상]) # 색상을 직접 리스트에 넣어 지정해주는 방법
scatter(x축데이터, y축데이터, s = [사이즈], c = range(색 개수)) # range()에 넣은 색 개수만큼 각각 서로 다른 색으로 표현
plt.colorbar() : 컬러바 추가
- 컬러바에 사용될 색의 종류 지정:
scatter(x축데이터, y축데이터, s = [사이즈], c = range(색 개수), cmap = 'jet') # jet는 무지개색
컬러맵 종류 확인: https://matplotlib.org/stable/tutorials/colors/colormaps.html
Choosing Colormaps in Matplotlib — Matplotlib 3.4.3 documentation
Note Click here to download the full example code Choosing Colormaps in Matplotlib Matplotlib has a number of built-in colormaps accessible via matplotlib.cm.get_cmap. There are also external libraries like [palettable] and [colorcet] that have many extra
matplotlib.org
- 점의 불투명도 조절:
scatter(x축데이터, y축데이터, s = [사이즈], c = range(색 개수), cmap = 'jet', alpha = 0.7) # alpha 범위는 0~1. (0에 가까울 수록 투명)
그래프를 이미지로 저장: savefig()
plt.savefig('파일이름' + '형식') # savefig('파일이름'+'.png') 같은 형태로 이미지 저장. 시각화 정보를 한 번에 저장할 때 편함. 경로지정도 가능. savefig('C:\pythondata\foldername\\' + 파일이름 + '.png') 처럼 파일 이름 앞에 경로 지정해주면 됨.
▷ map() : 일괄적으로 데이터에 특정함수 적용. 첫번째 인수에는 적용할 함수, 두번째 인수에는 함수를 적용할 데이터
# 예를들어 map(int, data)는 data라는 데이터에 일괄적으로 int형을 적용시킴
▽ plot
▽ hist / pie
▽ bar / barh
▽ boxplot / scatter
result = []
for i in range(31):
result.append([]) # 리스트 내에 31개 리스트 생성
'개념 정리 > Python' 카테고리의 다른 글
conda 환경 & 주피터 기본 (0) | 2021.09.12 |
---|---|
[Python] 개념 정리 01 - 자료형(문자형, 숫자형) (0) | 2021.07.23 |
[Python] 파이썬 참고 사이트 (0) | 2021.07.08 |
[Python] 함수 정리 (리스트, 문자열, 딕셔너리, 집합) (0) | 2021.07.08 |