2016-12-19 7 views
-1

このコードを実行すると、2番目のmatplotlib.pyplotウィンドウは、このように順に開いたときに最初のウィンドウを閉じた後にのみ表示されます。複数のウィンドウを同時に表示するにはどうすればよいですか?同時matplotlib.pyplot Windows

def graph(xList, yList, string): 
    xArr = numpy.array(xList) 
    yArr = numpy.array(yList) 
    matplotlib.pyplot.plot(xArr,yArr) 
    matplotlib.pyplot.title(string) 
    matplotlib.pyplot.show() 



graph(posX,posY, "positive") 
graph(negX,negY, "negative") 

答えて

1

pyplotにすべての操作が完了した後に数字を表示するように指示する必要があります。 希望の数字をいくつでも作成できますが、最後にshow()と電話するだけです。

import matplotlib.pyplot 
import numpy 
posX = numpy.arange(19) 
posY = posX 
negX,negY = posX*(-1), posY*(-1) 


def graph(xList, yList, string): 
    xArr = numpy.array(xList) 
    yArr = numpy.array(yList) 
    matplotlib.pyplot.figure() 
    matplotlib.pyplot.plot(xArr,yArr) 
    matplotlib.pyplot.title(string) 

graph(posX,posY, "positive") 
graph(negX,negY, "negative") 

matplotlib.pyplot.show() 
0

プロットを表示する際に呼び出し元のコードが決定させ、あなたのプロット関数でshow()を含めないでください。

ほとんどのプロット関数は、現在のFigureがある場合はそれを再利用します。新しい図形が必要な場合は、それを明示的に作成する必要があります。

次のコードは、一度に2つの図を表示します。 2番目のプロットの前に新しい図形が作成され、すべてのプロットが完了した後にshow()が呼び出されることに注意してください。

x = numpy.arange(10) 
matplotlib.pyplot.plot(x, x) 
matplotlib.pyplot.figure() 
matplotlib.pyplot.plot(x, x**2) 
matplotlib.pyplot.show() 
関連する問題