どのように私は、プロットで行わだとmatplotlibのを教えてくれますか?
-
09-09-2019 - |
質問
次のコード2 のPostScript の(.PS)ファイルへのプロットが、もう一つは含まれてい両方の線ます。
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(111)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.subplot(111)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
どのように私は2番目のプロットのために新たに開始するmatplotlibのを伝えることができますか?
解決
次の例のように、新しいプロットを作成するためにfigure
を使用するか、または最初のプロット後close
を使用することができます。
他のヒント
があり明確な数字のコマンドがあり、それはあなたのためにそれを行う必要があります:
plt.clf()
あなたは同じ図に複数のサブプロットを持っている場合は、
plt.cla()
現在の座標軸をクリアします。
のようデビッドCournapeau、使用フィギュア()から述べています。
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.figure()
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("first.ps")
plt.figure()
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
、または同じプロット、異なる位置のためのサブプロット(121)/サブプロット(122)。
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
plt.subplot(121)
x = [1,10]
y = [30, 1000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.subplot(122)
x = [10,100]
y = [10, 10000]
plt.loglog(x, y, basex=10, basey=10, ls="-")
plt.savefig("second.ps")
ただ、最初plt.plot前plt.hold(False)
を入力し、あなたがあなたの元のコードに固執することができます。
あなたは多分探し、Webアプリケーションでは、たとえば、対話的に(例えばipythonを)matplotlibのを使用している場合は、
plt.show()
の代わりにplt.close()
またはplt.clf()
のます。
それらのどれも機能していない場合は、これをチェックする...と言うあなたは、xとそれぞれの軸に沿ったデータのyの配列を持っている場合。そして、あなたは空にxとyを初期化しているセル(jupyter)でご確認ください。多分あなたがそれらを再初期化せずに、xとyにデータを追加しているためです。だから、プロットは、あまりにも古いデータを持っています。だからをご確認ください..
所属していません StackOverflow