你应该是想用
color
争论
quiver
设置实际颜色。
import matplotlib.pyplot as plt
q=plt.quiver([1, 2,], [1, 1], [5,0], [5,5],
color=[(0.6, 0.8, 0.5, 1.0 ), (0.3, 0.1, 0.2, 1.0 )])
plt.quiverkey(q, .5, .5, 7, r'vector2', labelcolor=(0.3, 0.1, .2, 1),
labelpos='S', coordinates = 'figure')
plt.show()
否则
C
参数被解释为根据默认颜色映射映射到颜色的值。因为只有两个箭头,所以只有数组中给定给
C
考虑到了这些论点。但是颜色映射规范化使用所有这些值,因此它的范围在0.1到1.0之间。电话
q=plt.quiver([1, 2,], [1, 1], [5,0], [5,5],
[(0.6, 0.8, 0.5, 1.0 ), (0.3, 0.1, 0.2, 1.0 )])
因此相当于
q=plt.quiver([1, 2,], [1, 1], [5,0], [5,5],
[0.6, 0.8], norm=plt.Normalize(vmin=0.1, vmax=1))
导致第一个箭头颜色在viridis colormap中的值为0.6,在0.1和1.0之间标准化,第二个箭头颜色在该colormap中为0.8。
如果我们加上
plt.colorbar(q, orientation="horizontal")
: