Jak usunąć spacje między zagnieżdżonymi działkami w matplotlib?
Poniższy kod tworzy spacje między zagnieżdżonymi wykresami. Jak usunąć odstępy między zagnieżdżonymi wykresami i uczynić obraz gęstą siatką?
https://i.stack.imgur.com/uBn4j.png
import matplotlib.pyplot as pltfor i in range(16):
i = i + 1
ax1 = plt.subplot(4, 4, i)
plt.axis('on')
ax1.set_xticklabels([])
ax1.set_yticklabels([])
ax1.set_aspect('equal')
plt.subplots_adjust(wspace=None, hspace=None)
plt.show()
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Zwykle to zadziała:
Wynik jest taki:
https://i.stack.imgur.com/Wqj6o.png
Jednak z jak w poniższym kodzie:
Oto, co otrzymujemy:
https://i.stack.imgur.com/TQh97.png
Różnica w tym drugim przypadku polega na tym, że osie x i y mają tę samą liczbę jednostek/piksel, ponieważ osie domyślnie przechodzą od 0 do 1 (tj. Zanim cokolwiek wykreślisz). Używając wymuszasz, aby każda oś była kwadratowa. Ponieważ figura nie jest kwadratem, pyplot dodaje dodatkowe poziome odstępy między osiami.
Aby obejść ten problem, możesz dostosować kształt do prawidłowego współczynnika proporcji. Tutaj użyjemy zorientowanego obiektowo interfejsu pyplot, który ogólnie uważam za bardziej zaawansowany:
Oto wynik:
https://i.stack.imgur.com/tkcva.png
Anonimowy użytkownik
Potwierdzenie od:
gridspec
http://matplotlib.org/api/gridspec_api.html
do kontrolowania odległości między osiami. Tutaj jest więcej szczegółów
Informacja
http://matplotlib.org/users/gridspec.html
.
Anonimowy użytkownik
Potwierdzenie od:
do
http://matplotlib.org/api/gridspec_api.html
gridspec całkowicie, możesz również użyć następujących opcji Aby usunąć spacje, ustawiając
wspace
i
hspace
równe zero:
W rezultacie:
https://i.stack.imgur.com/2FZrm.png
Anonimowy użytkownik
Potwierdzenie od:
z
bez niego:
Lub: coś takiego (użyj )
Jeśli nie musisz udostępniać osi, po prostu
Anonimowy użytkownik
Potwierdzenie od:
ograniczony układ
https://matplotlib.org/tutoria ... ml... Jednak to nie działa z , więc zamiast tego musisz użyć :