2014-05-12 19 views
6

Pracuję nad moim matplotlibwidget, który utworzyłem za pomocą QtDesigner.Utwórz wyściółkę w działce

Po narysowaniu moich punktów testowych na mojej działce są one najczęściej ułożone na granicy lub przecinają osie. Co nie wygląda mi znajomo.

Moje pytanie brzmi: jak mogę powiedzieć matplotlib, aby dodał pewnego rodzaju "wewnętrzne wypełnienie" pomiędzy granicą fabuły i punktów testowych. Na przykład, jeśli moja minimalna wartość to "500", chciałbym narysować lewą ramkę na około 400, więc istnieje pewien margines między najmniejszym punktem a granicą.

Z góry dziękuję!

+0

możliwy duplikat [Jak do autoskalowania osi Y w matplotlib?] (Http://stackoverflow.com/questions/15375791/how-to-autoscale-y-axis-in-matplotlib) – tacaswell

Odpowiedz

12

plt.margins może być użyty do dostosowania automatycznego wypełniania twoich danych jak poniżej.

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

Jeśli miał minimalną wartość 500 i chciał granicę na około 400 następnie można wybrać współczynnik x-margines 0.2 jak w plt.margins(0.2, 0.2).

+0

perfect! pracował dla mnie! – zarathustra

Powiązane problemy