2014-06-19 73 views
9

'da bulunanlar gibi MayaVi'deki 3 boyutlu yüzey üzerinde düzgün eksenlerin nasıl bulunacağını bilmek istiyorum. Ben yaratabileceği iyi eksenleri ben bir sunum veya poster bu koyduğunuz zaman MyVideo'da uygun 3B eksenlerin grafikleri nasıl çizilir, Matplotlib

enter image description here

Ancak bu çok profesyonel görünmüyor ... this gibi bir şey görünüyordu. Bu eksenler çok daha profesyonel bir görünüm ve MayaVi eksenleri varsayılan dışında okumak daha kolaydır

enter image description here

ben ... eksenler this gibi bir şey istiyorum.

Herhangi bir yardım büyük memnuniyetle karşılanacaktır.

Teşekkürler!

+0

Hangi MayaVi sürümünü kullanıyorsunuz? – Schorsch

+0

Sorunuz temelde "Ben varsayılan mayavi eksenleri sevmiyorum, daha iyi olanları nasıl alabilirim?" Benim düşünceme göre bu önemli bir özellik talebi olsa da, gerçekten iyi bir soru değildir. Sorunuzun yanıtı, eksenlerin VTK'da nasıl göründüğü. Onlardan memnun değilsen, birkaç seçeneğin var. İstediğiniz şeyi yapan farklı kütüphaneler için etrafa bakabilir, mayavi/vtk geliştiricilerine, özelliğinizi uygularlarsa güzel bir şekilde sormaya çalışabilir veya kendiniz yazabilirsiniz. – aestrivex

+0

Sadece aynı problemle karşılaştım. “Bu sadece VTK'nın göründüğü gibi” olduğuna katılıyorum, tatmin edici bir cevap değil. Benim düşünceme göre, bu konu mayavi'yi, bu tür garip görünümlü arazileri asla yayınlayamayacağınız için bilimsel uygulamalar için neredeyse işe yaramaz hale getiriyor. Alternatifler aramaya gidiyor ... R umut verici görünüyor. – HansSnah

cevap

3

Bu problemi de yaşadım. Ben Mayavi eksenlerini gösteren ancak eksenleri komplo vermeyerek kötü geçici çözümü kesmek Ben Artık Text3D() Çok inelegant ve kaba kuvvet kullanarak etiketler ve açıklamalar ekleyebilir

from mayavi import mlab 
import numpy as np 
xx = yy = zz = np.arange(-0.6,0.7,0.1) 
xy = xz = yx = yz = zx = zy = np.zeros_like(xx)  
mlab.plot3d(yx,yy+lensoffset,yz,line_width=0.01,tube_radius=0.01) 
mlab.plot3d(zx,zy+lensoffset,zz,line_width=0.01,tube_radius=0.01) 
mlab.plot3d(xx,xy+lensoffset,xz,line_width=0.01,tube_radius=0.01) 

plot3d() kullanarak kendim gerekli, ama bir tutam çalışır.

İlgili konular