私は今までいつもここで助けを見つけてきました。私は自分の問題の解決策を非常に長い間探していましたが、今では目が見えないかもしれません..これで私を助けてくれることを願っています:
方向フィールド (矢筒) またはストリームプロットのいずれかをプロットする Python プログラムを作成しました。グラフには他のデータ (軌跡など) がある可能性があるため、すべてをクリアして再プロットすることはできません。代わりに、単一の要素を削除したい。これは、ストリームプロット以外のすべてに最適です。
そのため、ストリームプロットは線と矢印で構成されています。変数に格納されているので、sl
単純に呼び出しsl.lines.remove()
て行を削除できます。ただし、これは矢印には機能しません。これらを削除するにはどうすればよいですか?
編集:ここに小さなコードがあります:
import numpy as np
import matplotlib.pyplot as pp
streamplot = None
def mySystem(z):
x, y = z
return y, -x
def stream():
xmin = -10
xmax = 10
ymin = -10
ymax = 10
N = 40
M = int(N)
a = np.linspace(xmin,xmax,N)
b = np.linspace(ymin,ymax,N)
X1, Y1 = np.meshgrid(a,b)
DX1, DY1 = mySystem([X1,Y1])
global streamplot
streamplot = pp.streamplot(X1, Y1, DX1, DY1, density=2, color='#b5b5b5')
def removeStream():
global streamplot
streamplot.lines.remove()
#doesn't work: streamplot.arrows.remove()
stream()
removeStream()
pl.show() # arrows still here!