Subplots

Jens Wagner 07/2015

Download this notebook

In [1]:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline 
In [2]:
x = np.arange(0,2*np.pi,0.05) #Datensaetze erzeugen
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.abs(np.sin(x))
y4 = np.abs(np.cos(x))

Einzelnes Diagramm

In [3]:
# Einzelnes Diagramm
plt.plot(x, y1)
plt.plot(x, y2)

plt.title('Sinus, Cosinus')
plt.xlim([0,2*np.pi])
plt.show()

Zwei Dagramme nebeneinander

In [4]:
plt.subplot(121)  #sublot(Anzahl Zeilen Anzahl Spalten Bild Nummer)
plt.plot(x, y1)
plt.title('Sinus')
plt.xlim([0,2*np.pi])

plt.subplot(122)
plt.plot(x, y2)
plt.title('Cosinus')
plt.xlim([0,2*np.pi])
Out[4]:
(0, 6.283185307179586)

Zwei Diagramme übereinander

In [5]:
plt.subplot(211) 
plt.plot(x, y1)
plt.title('Sinus')
plt.xlim([0,2*np.pi])

plt.subplot(212)
plt.plot(x, y2)
plt.title('Cosinus')
plt.xlim([0,2*np.pi])
Out[5]:
(0, 6.283185307179586)

Zwei Diagramme übereinander, zwei nebeneinander

In [6]:
plt.subplot(221) 
plt.plot(x, y1)
plt.title('Sinus')
plt.xlim([0,2*np.pi])

plt.subplot(222)
plt.plot(x, y2)
plt.title('Cosinus')
plt.xlim([0,2*np.pi])

plt.subplot(223) 
plt.plot(x, y3)
plt.title('Sinus Betrag ')
plt.xlim([0,2*np.pi])

plt.subplot(224)
plt.plot(x, y4)
plt.title('Cosinus Betrag ')
plt.xlim([0,2*np.pi])
Out[6]:
(0, 6.283185307179586)

Abstaende einstellen

subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)

Demo:

In [7]:
%matplotlib qt
#fig = plt.figure()
plt.figure(figsize=(8,8)) 

plt.subplot(221) 
plt.plot(x, y1)
plt.title('Sinus')
plt.xlim([0,2*np.pi])

plt.subplot(222)
plt.plot(x, y2)
plt.title('Cosinus')
plt.xlim([0,2*np.pi])

plt.subplot(223) 
plt.plot(x, y3)
plt.title('Sinus Betrag ')
plt.xlim([0,2*np.pi])

plt.subplot(224)
plt.plot(x, y4)
plt.title('Cosinus Betrag ')
plt.xlim([0,2*np.pi])

plt.subplot_tool()
Out[7]:
<matplotlib.widgets.SubplotTool at 0x701c940>
In [8]:
%matplotlib inline
plt.subplots_adjust(wspace=0.5,hspace=0.5)

plt.figure(figsize=(8,8)) 

plt.subplot(221) 
plt.plot(x, y1)
plt.title('Sinus')
plt.xlim([0,2*np.pi])

plt.subplot(222)
plt.plot(x, y2)
plt.title('Cosinus')
plt.xlim([0,2*np.pi])

plt.subplot(223) 
plt.plot(x, y3)
plt.title('Sinus Betrag ')
plt.xlim([0,2*np.pi])

plt.subplot(224)
plt.plot(x, y4)
plt.title('Cosinus Betrag ')
plt.xlim([0,2*np.pi])
Out[8]:
(0, 6.283185307179586)
<matplotlib.figure.Figure at 0x6f486d8>

Diagramm in einem Diagramm

In [9]:
plt.plot(x, y1)
plt.axes([0.55, 0.55, 0.3, 0.3]) #[left, bottom, width, height]
plt.plot(x, y2)
Out[9]:
[<matplotlib.lines.Line2D at 0x8a4d128>]
In [ ]: