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