一尘不染

Matplotlib散点图; 颜色作为第三个变量的函数

python

我想制作一个散点图(使用matplotlib),其中根据第三个变量对点进行阴影处理。我对此非常了解:

plt.scatter(w, M, c=p, marker='s')

其中w和M是数据点,而p是我要相对于其着色的变量。
但是我想用灰度而不是彩色。有人可以帮忙吗?


阅读 831

收藏
2020-02-18

共1个答案

一尘不染

无需手动设置颜色。相反,请指定灰度颜色图…

import numpy as np
import matplotlib.pyplot as plt

# Generate data...
x = np.random.random(10)
y = np.random.random(10)

# Plot...
plt.scatter(x, y, c=y, s=500)
plt.gray()

plt.show()

或者,如果你希望使用更大范围的颜色图,也可以将cmapkwarg 指定为scatter。要使用其中任何一个的反向版本,只需指定其中_r任何一个的“ ”版本即可。例如,gray_r而不是gray。有几种不同的灰度色彩映射预先制作的(如graygist_yargbinary,等)。

import matplotlib.pyplot as plt
import numpy as np

# Generate data...
x = np.random.random(10)
y = np.random.random(10)

plt.scatter(x, y, c=y, s=500, cmap='gray')
plt.show()
2020-02-18