2014-05-12 8 views
6

Sto lavorando al mio matplotlibwidget che ho creato con QtDesigner.Crea padding all'interno del plot

Quando disegno i miei punti di prova nella mia trama, sono per lo più disposti al confine o attraversano gli assi. Che non mi sembra molto familiare.

Quindi la mia domanda è, come posso dire a matplotlib di aggiungere una sorta di "padding interno" tra il bordo del tracciato ei punti di test. Ad esempio, se il mio valore minimo è "500", vorrei tracciare il bordo sinistro attorno a 400, quindi c'è un margine tra il punto e il bordo meno.

Grazie in anticipo!

+0

possibile duplicato di [Come scalare automaticamente l'asse y in matplotlib?] (Http://stackoverflow.com/questions/15375791/how-to-autoscale-y-axis-in-matplotlib) – tacaswell

risposta

12

plt.margins può essere utilizzato per regolare il riempimento automatico dei dati come indicato di seguito.

import matplotlib.pyplot as plt 
import numpy as np 

x = np.arange(10) 
y = np.power(x, 3) 

plt.plot(x, y, 'ro') 

# Create a 5% (0.05) and 10% (0.1) padding in the 
# x and y directions respectively. 
plt.margins(0.05, 0.1) 

plt.show() 

Plot

se si ha un valore minimo di 500 e voleva il confine per essere intorno 400 allora si potrebbe scegliere una percentuale x-margine di 0.2 come in plt.margins(0.2, 0.2).

+0

perfetto! ha funzionato per me! – zarathustra