Matplotlib: 값별로 산점도 색상을 지정하는 방법
세 번째 변수를 기반으로 matplotlib 산점도의 점 색상을 음영 처리하려는 경우가 종종 있습니다. 다행히도 다음 구문을 사용하는 matplotlib.pyplot.scatter() 함수를 사용하면 쉽게 수행할 수 있습니다.
matplotlib.pyplot.scatter(x, y, s=없음, c=없음, cmap=없음)
금:
- x: 플롯에서 x축 위치에 사용할 값 테이블입니다.
- y: 플롯의 y축 위치에 사용할 값 배열입니다.
- s: 마커의 크기입니다.
- c: 마커 색상에 사용할 값 표입니다.
- cmap: 플로팅에 사용할 색상 맵입니다.
c를 사용하여 색상 값에 사용할 변수를 지정할 수 있고 cmap을 사용하여 포인트 클라우드의 마커에 사용할 실제 색상을 지정할 수 있습니다.
이 튜토리얼에서는 이 기능의 실제 사용에 대한 몇 가지 예를 설명합니다.
예 1: 값별로 색상이 지정된 산점도
다음과 같은 팬더 DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29], 'y': [5, 7, 7, 9, 12, 9, 9, 4], 'z': [3, 4, 4, 5, 7, 8, 8, 9]}) #view DataFrame df X Y Z 0 25 5 3 1 12 7 4 2 15 7 4 3 14 9 5 4 19 12 7 5 23 9 8 6 25 9 8 7 29 4 9
다음 코드는 회색 색상 팔레트를 사용하고 z 변수의 값을 색상 팔레트의 음영으로 사용하여 포인트 클라우드를 생성하는 방법을 보여줍니다.
import matplotlib.pyplot as plt #create scatterplot plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' gray ')
이 특정 예에서는 “회색” 색상 팔레트를 선택하지만 matplotlib 색상 팔레트 문서 에서 사용할 수 있는 색상 팔레트의 전체 목록을 찾을 수 있습니다.
예를 들어, 색상 팔레트로 “Greens”를 대신 지정할 수 있습니다.
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens ')
기본적으로 c 인수 값이 더 큰 마커는 더 어둡게 표시되지만 cmap 이름에 _r을 추가하면 이 추세를 반전시킬 수 있습니다.
plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens_r ')
예 2: 범주별로 색상이 지정된 산점도
다음과 같은 팬더 DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd.DataFrame({'x': [25, 12, 15, 14, 19, 23, 25, 29], 'y': [5, 7, 7, 9, 12, 9, 9, 4], 'z': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C']}) #view DataFrame df X Y Z 0 25 5 A 1 12 7 A 2 15 7 B 3 14 9 B 4 19 12 B 5 23 9 C 6 25 9 C 7 29 4 C
다음 코드는 범주에 따라 마커 색상을 지정하기 위해 z 변수를 사용하여 산점도를 생성하는 방법을 보여줍니다.
import matplotlib.pyplot as plt groups = df. groupby ('z') for name, group in groups: plt. plot (group.x, group.y, marker=' o ', linestyle='', markersize=12, label=name) plt. legend ()
여기에서 더 많은 Python 튜토리얼을 찾을 수 있습니다.