파이썬 튜토리얼

파이썬 홈 파이썬 소개 파이썬 시작하기 파이썬 구문 파이썬 주석 파이썬 변수 파이썬 데이터 유형 파이썬 숫자 파이썬 캐스팅 파이썬 문자열 파이썬 부울 파이썬 연산자 파이썬 목록 파이썬 튜플 파이썬 세트 파이썬 사전 파이썬 If...Else 파이썬 while 루프 Python For 루프 파이썬 함수 파이썬 람다 파이썬 배열 파이썬 클래스/객체 파이썬 상속 파이썬 반복자 파이썬 범위 파이썬 모듈 파이썬 날짜 파이썬 수학 파이썬 JSON 파이썬 정규식 파이썬 PIP 파이썬 시도...제외 파이썬 사용자 입력 파이썬 문자열 포맷

파일 처리

파이썬 파일 처리 파이썬 읽기 파일 Python 파일 작성/작성 파이썬 파일 삭제

파이썬 모듈

넘파이 튜토리얼 팬더 연습 사이피 튜토리얼

파이썬 Matplotlib

Matplotlib 소개 Matplotlib 시작하기 Matplotlib 파이플로트 Matplotlib 플로팅 Matplotlib 마커 Matplotlib 라인 Matplotlib 레이블 Matplotlib 그리드 Matplotlib 서브플롯 Matplotlib 분산 Matplotlib 바 Matplotlib 히스토그램 Matplotlib 파이 차트

기계 학습

시작하기 평균 중앙값 모드 표준 편차 백분위수 데이터 배포 정규 데이터 분포 산포도 선형 회귀 다항식 회귀 다중 회귀 규모 훈련/시험 의사결정나무

파이썬 MySQL

MySQL 시작하기 MySQL 데이터베이스 생성 MySQL 테이블 생성 MySQL 삽입 MySQL 선택 MySQL 어디 MySQL 주문 기준 MySQL 삭제 MySQL 삭제 테이블 MySQL 업데이트 MySQL 제한 MySQL 조인

파이썬 몽고DB

몽고DB 시작하기 MongoDB 데이터베이스 생성 MongoDB 컬렉션 생성 몽고DB 삽입 몽고DB 찾기 몽고DB 쿼리 몽고DB 정렬 몽고DB 삭제 MongoDB 드롭 컬렉션 몽고DB 업데이트 몽고DB 제한

파이썬 참조

파이썬 개요 파이썬 내장 함수 파이썬 문자열 메서드 파이썬 목록 메서드 파이썬 사전 메서드 파이썬 튜플 메서드 파이썬 세트 메소드 파이썬 파일 메서드 파이썬 키워드 파이썬 예외 파이썬 용어집

모듈 참조

랜덤 모듈 요청 모듈 통계 모듈 수학 모듈 cMath 모듈

파이썬 사용법

목록 중복 제거 문자열 반전 두 개의 숫자 더하기

파이썬 예제

파이썬 예제 파이썬 컴파일러 파이썬 연습 파이썬 퀴즈 파이썬 인증서

Matplotlib 분산


산점도 만들기

Pyplot에서는 scatter()함수를 사용하여 산점도를 그릴 수 있습니다.

scatter()함수는 각 관찰에 대해 하나의 점을 표시합니다. 길이가 같은 두 개의 배열이 필요합니다. 하나는 x축의 값을 위한 것이고 다른 하나는 y축의 값을 위한 것입니다.

예시

간단한 산점도:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])

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

결과:

위의 예에서 관찰한 것은 13대의 차량이 지나가는 결과입니다.

X축은 자동차의 수명을 나타냅니다.

Y축은 자동차가 지나갈 때의 속도를 나타냅니다.

관측치 사이에 관계가 있습니까?

새 차일수록 더 빨리 달리는 것 같지만, 우리가 등록한 차만 13대에 불과한 우연의 일치일 수도 있습니다.


플롯 비교

위의 예에서 속도와 나이 사이에 관계가 있는 것처럼 보이지만 다른 날의 관찰도 플로팅하면 어떻게 될까요? 산점도가 우리에게 다른 것을 말해줄까요?

예시

같은 그림에 두 개의 플롯을 그립니다.

import matplotlib.pyplot as plt
import numpy as np

#day one, the age and speed of 13 cars:
x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)

#day two, the age and speed of 15 cars:
x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y)

plt.show()

결과:

참고: 두 개의 플롯은 기본적으로 파란색과 주황색의 두 가지 다른 색상으로 표시됩니다. 이 장의 뒷부분에서 색상을 변경하는 방법을 배우게 될 것입니다.

두 플롯을 비교함으로써 두 가지 모두 동일한 결론을 제공한다고 말하는 것이 안전하다고 생각합니다. 새 차는 더 빨리 운전합니다.



그림 물감

color또는 c 인수 를 사용하여 각 산점도에 대해 고유한 색상을 설정할 수 있습니다 .

예시

마커의 고유한 색상을 설정합니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color = 'hotpink')

x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#88c999')

plt.show()

결과:


각 점에 색상 지정

c색상 배열을 인수 값으로 사용하여 각 점에 대해 특정 색상을 설정할 수도 있습니다 .

참고: 이에 대한 인수는 사용할 수 없으며 인수만 사용할 수 있습니다 .colorc

예시

마커의 고유한 색상을 설정합니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array(["red","green","blue","yellow","pink","black","orange","purple","beige","brown","gray","cyan","magenta"])

plt.scatter(x, y, c=colors)

plt.show()

결과:


컬러맵

Matplotlib 모듈에는 사용 가능한 여러 컬러맵이 있습니다.

컬러맵은 각 색상의 값이 0에서 100 사이인 색상 목록과 같습니다.

다음은 컬러맵의 예입니다.

이 컬러맵을 '비리디스(viridis)'라고 하며 보다시피 보라색인 0부터 노란색인 100까지 다양합니다.

ColorMap을 사용하는 방법

컬러맵 값과 함께 키워드 인수로 컬러맵을 지정할 수 있습니다 cmap. 이 경우 'viridis'Matplotlib에서 사용할 수 있는 내장 컬러맵 중 하나입니다.

또한 산점도의 각 점에 대해 하나의 값(0에서 100까지)이 있는 배열을 만들어야 합니다.

예시

색 배열을 만들고 산점도에 컬러맵을 지정합니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.show()

결과:

plt.colorbar()다음 명령문 을 포함하여 도면에 컬러맵을 포함할 수 있습니다 .

예시

실제 컬러맵 포함:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.colorbar()

plt.show()

결과:

사용 가능한 컬러맵

내장된 컬러맵 중 하나를 선택할 수 있습니다.

Name   Reverse
Accent   Accent_r
Blues   Blues_r
BrBG   BrBG_r
BuGn   BuGn_r
BuPu   BuPu_r
CMRmap   CMRmap_r
Dark2   Dark2_r
GnBu   GnBu_r
Greens   Greens_r
Greys   Greys_r
OrRd   OrRd_r
Oranges   Oranges_r
PRGn   PRGn_r
Paired   Paired_r
Pastel1   Pastel1_r
Pastel2   Pastel2_r
PiYG   PiYG_r
PuBu   PuBu_r
PuBuGn   PuBuGn_r
PuOr   PuOr_r
PuRd   PuRd_r
Purples   Purples_r
RdBu   RdBu_r
RdGy   RdGy_r
RdPu   RdPu_r
RdYlBu   RdYlBu_r
RdYlGn   RdYlGn_r
Reds   Reds_r
Set1   Set1_r
Set2   Set2_r
Set3   Set3_r
Spectral   Spectral_r
Wistia   Wistia_r
YlGn   YlGn_r
YlGnBu   YlGnBu_r
YlOrBr   YlOrBr_r
YlOrRd   YlOrRd_r
afmhot   afmhot_r
autumn   autumn_r
binary   binary_r
bone   bone_r
brg   brg_r
bwr   bwr_r
cividis   cividis_r
cool   cool_r
coolwarm   coolwarm_r
copper   copper_r
cubehelix   cubehelix_r
flag   flag_r
gist_earth   gist_earth_r
gist_gray   gist_gray_r
gist_heat   gist_heat_r
gist_ncar   gist_ncar_r
gist_rainbow   gist_rainbow_r
gist_stern   gist_stern_r
gist_yarg   gist_yarg_r
gnuplot   gnuplot_r
gnuplot2   gnuplot2_r
gray   gray_r
hot   hot_r
hsv   hsv_r
inferno   inferno_r
jet   jet_r
magma   magma_r
nipy_spectral   nipy_spectral_r
ocean   ocean_r
pink   pink_r
plasma   plasma_r
prism   prism_r
rainbow   rainbow_r
seismic   seismic_r
spring   spring_r
summer   summer_r
tab10   tab10_r
tab20   tab20_r
tab20b   tab20b_r
tab20c   tab20c_r
terrain   terrain_r
twilight   twilight_r
twilight_shifted   twilight_shifted_r
viridis   viridis_r
winter   winter_r

크기

s인수 로 점의 크기를 변경할 수 있습니다 .

색상과 마찬가지로 크기에 대한 배열의 길이가 x축 및 y축에 대한 배열과 동일한지 확인합니다.

예시

마커에 대한 고유한 크기 설정:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes)

plt.show()

결과:


알파

alpha인수 로 점의 투명도를 조정할 수 있습니다 .

색상과 마찬가지로 크기에 대한 배열의 길이가 x축 및 y축에 대한 배열과 동일한지 확인합니다.

예시

마커에 대한 고유한 크기 설정:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes, alpha=0.5)

plt.show()

결과:


색상 크기와 알파 결합

점에서 크기가 다른 컬러맵을 결합할 수 있습니다. 점이 투명한 경우 가장 잘 시각화됩니다.

예시

x-포인트, y-포인트, 색상 및 크기에 대해 100개의 값으로 임의의 배열을 생성합니다.

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randint(100, size=(100))
y = np.random.randint(100, size=(100))
colors = np.random.randint(100, size=(100))
sizes = 10 * np.random.randint(100, size=(100))

plt.scatter(x, y, c=colors, s=sizes, alpha=0.5, cmap='nipy_spectral')

plt.colorbar()

plt.show()

결과: