从散点图中的调色板中选择两种颜色

Choosing two colors from palette in scatter plot

我正在尝试使用 viridis 调色板在 python 中制作散点图,只有两个值。我真的很喜欢紫色,但黄色很难看得见。是否可以选择中间值(蓝色)和紫色?

x_test = [1, 2, 3, 4]
y_test = [1, 2, 3, 4]
c_test = [0, 1, 0, 1]

plt.scatter(x = x_test, y = y_test, c = c_test,  alpha=1, cmap='viridis')

它会产生两种颜色——黄色和紫色。第一个是不可见的。

您可以创建仅包含 2 种颜色的自定义颜色图:

代码:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import colors


x_test = [1, 2, 3, 4]
y_test = [1, 2, 3, 4]
c_test = [0, 1, 0, 1]

mycmap = colors.ListedColormap(['purple', 'blue'])

plt.scatter(x = x_test, y = y_test, c = c_test,  alpha=1, cmap=mycmap, s=100)

剧情: