Matplotlib'de aynı şekle birden fazla işlevi nasıl çizebilirim?


110

Nasıl Aşağıdaki 3 işlevleri (yani çizebilirsiniz sin, cosetki alanında ve ek) taynı şekilde,?

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

Yanıtlar:


181

Aynı şekle birden fazla grafik çizmek için yapmanız gerekenler:

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()

görüntü açıklamasını buraya girin


Tamam, şimdi bir sonrakini yeni bir grafiğe çizmek istiyorsanız grafikleri nasıl temizleyeceksiniz?
NoName

@NoName: "Konuları temizle" ile ne demek istiyorsun? Çizim penceresini kapatıp yeni bir tane planlamak istiyor musunuz?
Srivatsan

Boşver, varsayılan rakam çağırıldıktan sonra otomatik olarak silinir, plt.show()böylece tekrar çizim aynı grafik üzerinde çizilmez.
NoName

51

Belki bunu yapmanın daha pitonik bir yolu.

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()

görüntü açıklamasını buraya girin


1
Bu yöntemi kullanarak her bir grafiğin renklerini de değiştirebilir misiniz? Öyleyse nasıl?
nbro

4
Sen değiştirerek renkleri belirtebilirsiniz plt.plot()olarak rol: plt.plot(t, a, 'b', t, b, 'g', t, c, 'y'). Renkleri bu bağlantıda verilen renklere göre belirtebilirsiniz: matplotlib.org/users/colors.html
Jash Shah

ion()Her şeyi tek bir satırda çizmek yerine bunun için çok doğru bir pyplot kullanamaz mıyız?
toing_toing

@toing_toing Üzgünüm pek farkında değilim ion(). Bir örnekle açıklayabilir misin?
Jash Shah

1
bu nasıl "daha pitonik" kabul edilen cevaptan daha iyidir? "Açık, örtük olmaktan iyidir." ve okunabilirlik, kabul edilen cevabı destekler (bunun öznel olduğunu kabul ediyorum). Yoğun plt.plot () çağrınızın hızlı bir şekilde anlaşılması, sistematik olmayan üç eğri için benzer bir "t" değişkeninin kullanılmasıyla sağlanır. Bununla birlikte, bu versiyonun var olduğunu bilmenin ilginç olduğunu düşünüyorum.
Blupon

6

Sadece plotaşağıdaki işlevi kullanın

figure()
...
plot(t, a)
plot(t, b)
plot(t, c)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.