İnternette uzun zamandır bakıyorum ama nasıl yapılacağını anlayamadım. Ben xticks numpy.arange (1, N), N her şekil için farklı olarak tanımlanmış birkaç figür çizmek gerekir. Xticks arasındaki mesafenin tüm şekiller üzerinde aynı olmasını (örneğin 1 cm), yani her şeklin genişliğinin numpy.arange (1, N) boyutuna bağlı olmasını istiyorum. Bunu nasıl yapacağın hakkında bir fikrin var mı?Matplotlib - xticks arasındaki mesafeyi (mm/cm/puan ... olarak ayarla)
6
A
cevap
2
Sana (şeklin bir kısmı gibi) eksenleri boyutta dikkatli kontrolü bir kombinasyonu, ax.set_xlim
ve fig.set_size_inches
(doc) şeklin gerçek boyutunu ayarlamak için bunu yapabilirsiniz düşünüyorum.
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.set_xlim([0,N])
fig.set_size_inches([N/2.54,h])
0
@ tcaswell cevabı üzerine genişletmek için eski, burada benim eksenin ve keneler arası mesafenin gerçek boyutunu mikro yönetmek istediğim zaman böyle yaparız.
:import numpy as np
import matplotlib.pyplot as plt
plt.close('all')
#------------------------------------------------------ define xticks setup ----
xticks_pos = np.arange(11) # xticks relative position in xaxis
N = np.max(xticks_pos) - np.min(xticks_pos) # numbers of space between ticks
dx = 1/2.54 # fixed space between xticks in inches
xaxis_length = N * dx
#------------------------------------------------------------ create figure ----
#---- define margins size in inches ----
left_margin = 0.5
right_margin = 0.2
bottom_margin = 0.5
top_margin = 0.25
#--- calculate total figure size in inches ----
fwidth = left_margin + right_margin + xaxis_length
fheight = 3
fig = plt.figure(figsize=(fwidth, fheight))
fig.patch.set_facecolor('white')
#---------------------------------------------------------------- create axe----
#---- axes relative size ----
axw = 1 - (left_margin + right_margin)/fwidth
axh = 1 - (bottom_margin + top_margin)/fheight
x0 = left_margin/fwidth
y0 = bottom_margin/fheight
ax0 = fig.add_axes([x0, y0, axw, axh], frameon=True)
#---------------------------------------------------------------- set xticks----
ax0.set_xticks(xticks_pos)
plt.show(block=False)
fig.savefig('axis_ticks_cm.png')
Bu, her kene arasında 1 cm boşlukla 10 cm x ekseni ile 11.8 cm arasında bir rakam ile sonuçlanır
İlgili konular
- 1. Yalnızca iki alt nokta arasındaki mesafeyi ayarlayın. Matplotlib
- 2. Izgarada 2 nokta arasındaki mesafeyi bulun
- 3. OpenLayers: İki nokta arasındaki mesafeyi nasıl hesaplarsınız?
- 4. Ben yaklaşık arasındaki mesafeyi hesaplamak isteyen
- 5. Xticks, önümüzdeki DF sahip dize
- 6. Android: iki konum arasındaki mesafeyi hesaplamak için en iyi yöntem
- 7. R/ImageJ: Noktalar ve eğriler arasındaki en kısa mesafeyi ölçme
- 8. Enum için C# olarak ayarla
- 9. BOOL değerini NSMutableDictionary olarak ayarla
- 10. 2 3 boyutlu noktalar arasındaki mesafeyi hesaplamak için algoritma?
- 11. Enlem ve boylam iki nokta arasındaki mesafeyi nasıl hesaplayabilirim?
- 12. Nesne ile android telefon arasındaki mesafeyi nasıl ölçebiliriz?
- 13. D3.js'deki keneler arasındaki mesafeyi bulmak mümkün mü?
- 14. Kenar boşlukları arasındaki mesafeyi kenar boşluğu kullanarak ayarlayın
- 15. javascript kullanarak iki posta kodları arasındaki mesafeyi hesaplamak
- 16. İki nokta arasındaki mesafeyi hesaplamak en iyisi hangisi?
- 17. Webservices'ı kullanarak iki Posta Kodu arasındaki mesafeyi bulun?
- 18. Matplotlib: Çubuklar arasındaki boşluk nasıl alınır?
- 19. Bir AxesSubplot nesnesi için xticks eşdeğer işlevi
- 20. matplotlib içinde plt.draw() ve plt.show() arasındaki fark
- 21. Matplotlib görüntüsünü dize olarak döndürme
- 22. Matplotlib alt piksellerindeki dikey boşluk üzerinde manipülasyon
- 23. Pandalarda belirtilen aralıklarla xticks gösterme DataFrame
- 24. matplotlib matshow etiketleri
- 25. Bir videoyu arka plan olarak ayarla
- 26. Varsayılan olarak ayarla "Tamam" ve düğmeler
- 27. Yönetilen Bean'i Kompozit Bileşen'de parametre olarak ayarla
- 28. Qt varsayılan kodlamasını UTF-8 olarak ayarla
- 29. Izgara görünümü öğesini seçili olarak ayarla
- 30. Dinamik Olarak Başlığı İletişim Kutusunda Ayarla