In Matplotlib, che cosa l'argomento significa in fig.add_subplot (111)?
-
01-10-2019 - |
Domanda
A volte mi imbatto in codice come questo:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
che produce:
Ho letto la documentazione come un matto, ma non riesco a trovare una spiegazione per la 111
. a volte vedo una 212
.
Che cosa fa l'argomento di fig.add_subplot()
media?
Soluzione
Questi sono parametri di rete sottotrama codificati come un singolo intero. Ad esempio, "111" significa "griglia 1x1, prima sottotrama" e "234" significa "griglia 2x3, 4th sottotrama".
forma alternativa per add_subplot(111)
è add_subplot(1, 1, 1)
.
Altri suggerimenti
Credo che questo sarebbe meglio spiegata con il seguente quadro:
Per inizializzare quanto sopra, si potrebbe scrivere:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(221) #top left
fig.add_subplot(222) #top right
fig.add_subplot(223) #bottom left
fig.add_subplot(224) #bottom right
plt.show()
La risposta da Constantin è a posto, ma per più di fondo questo comportamento viene ereditato da Matlab.
comportamentoIl Matlab è spiegato nella href="http://www.mathworks.com/help/matlab/ref/subplot.html" rel="noreferrer"> Figura Setup sezione della documentazione Matlab.
sottotrama (m, n, i) pause la finestra figura in un m-by-n matrice di piccole sottotrame e seleziona la sottotrama ithe per la trama corrente. le trame sono numerate lungo la fila superiore della finestra figura, poi la seconda fila, e così via.
fig.add_subplot(ROW,COLUMN,POSITION)
- ROW = numero di righe
- COLONNA = numero di colonne
- SPAZIO = posizione del grafico si è plotting
Esempi
`fig.add_subplot(111)` #There is only one subplot or graph
`fig.add_subplot(211)` *and* `fig.add_subplot(212)`
Ci sono totale 2 righe, 1 colonna quindi 2 sottografi può essere tracciata. La sua posizione è 1 °. Ci sono un totale 2 righe, 1 colonna quindi 2 sottografi possono essere plotted.Its posizione è 2 °
import matplotlib.pyplot as plt
plt.figure(figsize=(8,8))
plt.subplot(3,2,1)
plt.subplot(3,2,3)
plt.subplot(3,2,5)
plt.subplot(2,2,2)
plt.subplot(2,2,4)
Il primo codice crea la prima sottotrama in un layout che ha 3 righe e 2 colonne.
I tre grafici nella prima colonna sono indicati gli 3 righe. La trama seconda arriva appena sotto il primo grafico nella stessa colonna e così via.
Gli ultimi due piazzole hanno argomenti (2, 2)
denota che la seconda colonna ha solo due righe, i parametri di posizione spostare fila saggio.