2011-09-07 20 views
26

Eksenleri göstermeden nasıl 3D çizim yapabilirim?Matplotlib 3d'deki eksenleri nasıl gizleyebilirim?

3B grafiğini çizerken, Matplotlib yalnızca x, y ve z eksenlerini çizmez, x-y, y-z ve x-z düzlemlerinde açık gri ızgaralar çizer. Bu unsurların hiçbiri ile "serbest yüzen" 3D arsa çizmek istiyorum.

Stuff denedim:

# Doesn't work; this hides the plot, not the axes 
my_3d_axes.set_visible(False) 

# Doesn't do anything. Also, there's no get_zaxis() function. 
my_3d_axes.get_xaxis().set_visible(False) 
my_3d_axes.get_yaxis().set_visible(False) 
+0

. Ne yazık ki, artık kolay bir şekilde yapmanın bir yolu olmadığından emin değilim ... Umarım hala var! –

+0

@Joe Klington: Merak ettiğim iki şeyden hangisi işe yaradı? Merak ediyorum, çünkü ilk, axes.set_visible(), aşağıdaki yardım açıklamasına sahiptir: "Sanatçının görünürlüğünü ayarlayın." Öyleyse, her zaman grafiğin görünürlüğünü ayarlamak gerekiyordu, eksenleri değil. İkincisi, nasıl bir get_zaxis() yöntemi olmadı, nasıl çalıştı? – SuperElectric

+0

Doğru hatırlamıyorsam çalışmak için kullanılan my_3d_axes.set_visible (False) idi. (Hangi gerçekten kontra-sezgisel, aslında. Bu 2D parseller için tüm arsa gizler, bu yüzden onlar 3D parseller için aynı şekilde değişti neden bu yüzden.) –

cevap

21

Ben Kök 1.0.1 için bu gideren bir yama sağladı. this thread'un son e-postasına bir ek olarak bulunabilir. Ben alıntılarsak:

Ok, 3d eksenlerinin gizleme gibi görünen bir özellik v1.0 yayımlanmasından sonra eklenen (ama mplot3d üzerinde çalışmaya başlamadan önce) idi. Bu yama, mevcut işlevlere müdahale etmeden temel özelliği etkinleştirmelidir. eksenlerini gizlemek için, yanlış, şöyle özel üyesi "_axis3don" set olurdu:

balta = plt.gca (projeksiyon = '3d') ax._axis3don = False

Eğer Bu şekilde yapın, sonra şimdi istediğinizi elde edeceksiniz ve kodunuz yükseltme yaptığınızda mplot3d ile uyumlu olacaktır (tercih edilen yöntem set_axis_on() veya set_axis_off()).

Umarım bu yardımcı olur!

Ben Kök çalışmak için kullanılan denedim ne

+20

'ax.set_axis_off()' ve 'set_axis_on()' şimdi destekleniyor (1.4.1) – user989762

İlgili konular