在一个图表中,如何将超过某个阈值的所有数据用不同颜色标注出来?比如说,如何标注出所有高于均值加标准差或者均值加两倍标准差的数据?
使用LineCollection
是正确的做法,但您也可以使用掩码数组在一行代码中轻松实现简化版本:
import numpy as np
import numpy.ma as ma
import matplotlib.pyplot as plt
# make a weird continuous function
r, t = np.random.random((100,)), np.arange(0, 100, .01)
y = sum(r[3*i+0]*np.sin(r[3*i+1]*t + 10*r[3*+2]) for i in range(10))
# generate the masked array
mask = ma.masked_less(y, 1.1)
plt.plot(t, y, 'k', linewidth=3)
plt.plot(t, mask, 'r', linewidth=3.2)
plt.show()
ma.masked_less(y, 1.1)
。
ax.plot(...)
)、点(例如ax.scatter(...)
或ax.plot(..., ls='none')
)、图像或网格数据(例如imshow
/pcolormesh
/pcolor
),还是其他类型的图? - Joe Kington