3
我正在使用matplotlib的颤抖来绘制矢量字段。我想 更改每个箭头的粗细大小,具体取决于产生矢量场的特定箭头的数据的数量。因此 我正在寻找的不是箭头尺寸的一般比例变换,而是 用于自定义箭头的箭头厚度的一个接一个的方式。 这可能吗?你可以帮我吗?使用matplotlib颤抖更改箭头的大小
我正在使用matplotlib的颤抖来绘制矢量字段。我想 更改每个箭头的粗细大小,具体取决于产生矢量场的特定箭头的数据的数量。因此 我正在寻找的不是箭头尺寸的一般比例变换,而是 用于自定义箭头的箭头厚度的一个接一个的方式。 这可能吗?你可以帮我吗?使用matplotlib颤抖更改箭头的大小
linewidths
参数为plt.quiver
控制箭头的粗细。如果您将值传递给一维数组,则每个箭头的厚度都会不同。
例如,
widths = np.linspace(0, 2, X.size)
plt.quiver(X, Y, cos(deg), sin(deg), linewidths=widths)
创建线宽从0增长到2
import matplotlib.pyplot as plt
import numpy as np
sin = np.sin
cos = np.cos
# http://stackoverflow.com/questions/6370742/#6372413
xmax = 4.0
xmin = -xmax
D = 20
ymax = 4.0
ymin = -ymax
x = np.linspace(xmin, xmax, D)
y = np.linspace(ymin, ymax, D)
X, Y = np.meshgrid(x, y)
# plots the vector field for Y'=Y**3-3*Y-X
deg = np.arctan(Y ** 3 - 3 * Y - X)
widths = np.linspace(0, 2, X.size)
plt.quiver(X, Y, cos(deg), sin(deg), linewidths=widths)
plt.show()
产生
谢谢你了,它的作品! – SirC
如果您指定不是您的线条颜色的脸部颜色,这会中断。改为使用'width'关键字。 – kilojoules