2016-12-22 4 views
-1

にグラフを追加し、1は、一般的にこれを行うだろう:pyplot:Pythonのmatplotlib.pyplotと1つのプロットの二つのグラフを描画するためには、既存のプロット

import matplotlib.pyplot as plt 

xdata = [0, 1, 2, 3, 4] 
ydata1 = [0, 1, 2, 3, 4] 
ydata2 = [0, 0.5, 2, 4.5, 8] 

plt.plot(xdata, ydata1, 'r-', xdata, ydata2, 'b--') 
plt.show() 

をしかし、私は下の2番目のデータセットを描画したいと思いますこのような特定の状況、:残念ながら

plt.plot(xdata, ydata1, 'r-') 

if DrawSecondDataset: 
    plt.plot(data, ydata2, 'b--') 

、二度目のplotを呼び出すには、最初のデータセットが消去されることを意味します。

既存のプロットにグラフを追加するにはどうすればよいですか?

編集:答えは正しく指摘したようにplt.show()は2つのplt.plot()コマンド間と呼ばれてきた場合

、データセットのみが消去されます。したがって、上記の例は実際に両方のデータセットを示しています。

完全性:既にplt.show()が呼び出されている既存のプロットにグラフを追加するオプションはありますか?など

+0

いいえ、それはない「残念ながら、二度目のプロットを呼び出すと、最初のデータセットが消去されることを意味します」。 – Goyo

+0

はい、あなたは正しいです。その間に 'show 'を呼ぶだけです。私は私の質問を更新しました。 –

答えて

0

ちょうど最後にshow()を呼び出してください。

+0

はい、それは動作します。しかし、前に「ショー」と呼ばれていない場合に限ります。 'show'が呼び出された後にグラフを追加する方法も知っていますか? –

+0

私自身の質問に答えるには: 'show'を呼び出した後、次の' plot'コマンドはプロットをクリアします。次に、 'plot'を2回呼び出して2つのプロットを追加することができます。どうもありがとうございました。 –

0
if DrawSecondDataset: 
    plt.plot(data, ydata2, 'b--') 
    plt.show() #to display it 
0

最初のデータは、このように消去されることはありません

plt.plot(xdata, ydata1, 'r-') 

if DrawSecondDataset: 
    plt.plot(data, ydata2, 'b--') 

plt.show() 
関連する問題