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 산점도 값별 색상

이 특정 예에서는 “회색” 색상 팔레트를 선택하지만 matplotlib 색상 팔레트 문서 에서 사용할 수 있는 색상 팔레트의 전체 목록을 찾을 수 있습니다.

예를 들어, 색상 팔레트로 “Greens”를 대신 지정할 수 있습니다.

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens ') 

cmap을 사용한 Matplotlib 산점도

기본적으로 c 인수 값이 더 큰 마커는 더 어둡게 표시되지만 cmap 이름에 _r을 추가하면 이 추세를 반전시킬 수 있습니다.

 plt. scatter (df.x, df.y, s=200, c=df.z, cmap=' Greens_r ') 

Matplotlib 색상 팔레트 반전 스케일

예 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 ()

카테고리별로 색상이 지정된 Matplotlib 산점도

여기에서 더 많은 Python 튜토리얼을 찾을 수 있습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다