Chciałbym narysować linie na kwadratowym wykresie.
Skale x-axis
i y-axis
powinny być takie same.
np. x wynosi od 0 do 10, a na ekranie wynosi 10 cm. y również musi mieścić się w zakresie od 0 do 10, a także 10 cm.
Kwadratowy kształt musi zostać zachowany, nawet jeśli będę bawić się rozmiarem okna.
Obecnie mój wykres skaluje się wraz z rozmiarem okna.
Jak mogę to osiągnąć?
AKTUALIZACJA:
Wypróbowałem następujące, ale nie zadziałało.
plt.xlim(-3, 3)
plt.ylim(-3, 3)
plt.axis('equal')
python
matplotlib
Sibbs Hazard
źródło
źródło
Odpowiedzi:
Aby to zrobić, musisz głębiej zagłębić się w interfejs API:
doc dla set_aspect
źródło
plt.plot(range(5))
iplt.gca().set_aspect('equal', adjustable='box')
zrobić, jeśli nie masz nic przeciwko? Zauważyłem też, że nawet jeśli tego nie zrobięplt.draw()
, fabuła się pojawi. Więc jaki jest pożytek z tego?plot
prostu mają coś do pokazania. Abyset_aspect
odczytać link dokumentacji. Madraw
to na celu upewnienie się, że zostanie wyrenderowane.działa dobrze dla mnie.
źródło
Spróbuj czegoś takiego:
źródło
P.axis('equal')
wydaje się być jakP.gca().set_aspect('equal', adjustable='datalim')
. Jeśliadjustable='box'
, to wykres staje się kwadratowy.Zobacz dokumentację na
plt.axis()
. To:nie działa, ponieważ zmienia granice osi, aby okręgi wyglądały na okrągłe. Chcesz:
Tworzy to kwadratowy wykres z równymi osiami.
źródło