Matplotlibで同じ図に複数の関数をプロットする方法は?


109

次の3つの関数(sincosおよび加算)をドメイン上tで同じ図にプロットするにはどうすればよいですか?

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0, 2*math.pi, 400)

a = sin(t)
b = cos(t)
c = a + b

回答:


180

同じ図に複数のグラフをプロットするには、次の操作を行う必要があります。

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0, 2*math.pi, 400)
a = sin(t)
b = cos(t)
c = a + b

plt.plot(t, a, 'r') # plotting t, a separately 
plt.plot(t, b, 'b') # plotting t, b separately 
plt.plot(t, c, 'g') # plotting t, c separately 
plt.show()

ここに画像の説明を入力してください


では、次のグラフを新しいグラフにプロットしたい場合、どうすればプロットをクリアできますか?
NoName

@NoName:「プロットをクリアする」とはどういう意味ですか?プロットウィンドウを閉じて、新しいウィンドウをプロットしますか?
Srivatsan

plt.show()注意してください。デフォルトのFigureは呼び出し後に自動的に消去されるため、再度プロットしても同じグラフにプロットされません。
NoName

51

おそらくそうするためのよりパイソン的な方法です。

from numpy import *
import math
import matplotlib.pyplot as plt

t = linspace(0,2*math.pi,400)
a = sin(t)
b = cos(t)
c = a + b

plt.plot(t, a, t, b, t, c)
plt.show()

ここに画像の説明を入力してください


1
この方法を使用して、各プロットの色を変更することもできますか?もしそうなら、どうですか?
nbro 2017年

4
plt.plot()パーツを次のように変更して、色を指定できますplt.plot(t, a, 'b', t, b, 'g', t, c, 'y')。このリンクで指定された色に基づいて色を指定できます:matplotlib.org/users/colors.html
Jash Shah

ion()これをすべて1行でプロットするのではなく、pyplotで使用することはできませんか?
toing_toing 2018

@toing_toingごめんなさいion()。例で説明できますか?
Jash Shah

1
これは、受け入れられた回答よりも「もっとpythonic」なのでしょうか。「明示的は暗黙的よりも優れています。」読みやすさは、受け入れられた答えimhoをサポートします(ただし、これは主観的なものです)。密なplt.plot()呼び出しをすばやく理解するには、3つの曲線に同様の「t」変数を使用します。これは体系的ではありません。そうは言っても、このバージョンが存在することを知るのは興味深いと思います。
Blupon

6

plot次のように関数を使用するだけです

figure()
...
plot(t, a)
plot(t, b)
plot(t, c)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.