Matplotlib에서 산점도의 색상 설정

Suraj Joshi 2020년12월25일
Matplotlib에서 산점도의 색상 설정

Matplotlib에서 마커의 색상을 설정하려면matplotlib.pyplot.scatter()메서드에서c 매개 변수를 설정합니다.

산점도에서 마커 색상 설정

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7]
y = [2, 1, 4, 7, 4, 3, 2]

plt.scatter(x, y, c="red")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Simple Scatter Plot")
plt.show()

출력:

산점도에서 마커 색상 설정

여기서는scatter()메서드에서c = "red"를 설정하여 산점도의 모든 마커 색상을 빨간색으로 설정합니다.

두 개의 다른 데이터 세트가있는 경우 c매개 변수의 다른 값을 사용하여 각 데이터 세트에 다른 색상을 사용할 수 있습니다.

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7]
y1 = [2, 1, 4, 7, 4, 3, 2]
y2 = [4, 4, 5, 3, 8, 9, 6]

plt.scatter(x, y1, c="red")
plt.scatter(x, y2, c="green")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot of two different datasets")
plt.show()

출력:

산점도의 각 데이터 세트에 대해 다른 색상 설정

여기서 데이터 세트 y1은 산점도에서 빨간색으로 표시되고 데이터 세트 y2는 산점도에서 녹색으로 표시됩니다.

데이터 세트가 너무 많으면 매번 각 데이터 세트에 수동으로 색상을 할당하기가 어렵습니다. 이러한 경우 colormap을 사용하여 각 데이터 세트에 대한 색상을 생성 할 수 있습니다.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x = np.array([1, 2, 3, 4, 5])
y = np.random.random((10, 5))

colors = cm.rainbow(np.linspace(0, 1, y.shape[0]))
for dataset, color in zip(y, colors):
    plt.scatter(x, dataset, color=color)

plt.xlabel("X")
plt.ylabel("Y")
plt.show()

출력:

각 데이터 세트에 대해 다른 색상을 자동으로 설정

행렬 y의 각 행에 대해 다른 색을 생성하고 각 행을 다른 색으로 플로팅합니다.

생성 된 색상 맵을 사용하는 대신 목록의 산점도에 사용할 색상을 지정하고 목록을itertools.cycle()메서드에 전달하여 사용자 정의 색상 순환기를 만들 수도 있습니다. 색상을 반복하기 위해next()함수를 사용합니다.

import itertools
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x = np.array([1, 2, 3, 4, 5])
y = np.random.random((10, 5))

color_cycle = itertools.cycle(
    ["orange", "pink", "blue", "brown", "red", "grey", "yellow", "green"]
)

for row in y:
    plt.scatter(x, row, color=next(color_cycle))

plt.xlabel("X")
plt.ylabel("Y")
plt.show()

출력:

각 데이터 세트에 대해 다른 색상을 자동으로 설정

itertools.cycle()메소드는 주어진 색상 세트에서 순환 색상 목록을 생성하고 각 행은 순환 목록에서 색상을 선택하는 산점도에 그려집니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

관련 문장 - Matplotlib Scatter Plot

관련 문장 - Matplotlib Color