반응형
특성의 마야비 색 막대빈 창을 만드는 UI
특성에 GUI를 생성하려고 합니다.두 개의 Mayavi 숫자가 포함된 UI입니다.Mayavi 문서의 여러 엔진 예제에 따라 이 수치를 구현했습니다.
그러나 그림 중 하나에 컬러바를 추가하고 GUI 스크립트를 실행하면 원하는 특성 외에 빈 Mayavi Scene Editor 창이 열리기도 합니다.UI 창.이 빈 창이 항상 나타나는 것은 아니며, 파이썬 커널을 다시 시작한 후 처음 실행할 때는 절대로 나타나지 않으며, 때때로 스크립트를 연속적으로 몇 번 실행하고 매번 나타나는 창을 닫은 후에만 나타납니다.
아래에서 많이 줄어든 코드를 실행하면 동일한 동작이 발생하며, 이를 제거합니다.mlab.colorbar(s)
line은 문제를 중지합니다.빈 창을 열지 않고 어떻게 컬러바를 얻을 수 있습니까?표면도의 경우 특정 그림에 색상 막대를 지정할 수 있는 명확한 방법이 없는 것 같습니다.Windows 7에서 Python 3.5를 실행하고 있지만 Ubuntu에서도 동일한 문제가 발생합니다.
from traits.api import HasTraits, Instance, on_trait_change
from traitsui.api import View, Item
import numpy as np
from mayavi.core.api import Engine
from mayavi.core.ui.api import SceneEditor, MlabSceneModel
from mayavi import mlab
#Generate a test surface to display
def test_surf():
x, y = np.mgrid[-7.:7.05:0.1, -5.:5.05:0.05]
z = np.sin(x + y) + np.sin(2 * x - y) + np.cos(3 * x + 4 * y)
return x, y, z
class MyApp(HasTraits):
#Create a mayavi scene with a specified engine
engine = Instance(Engine, ())
scene = Instance(MlabSceneModel)
def _scene_default(self):
self.engine.start()
return MlabSceneModel(engine=self.engine)
#Plot the surface when the scene is activated
@on_trait_change('scene.activated')
def populate_scene(self):
s = mlab.surf(*test_surf(), figure=self.scene.mayavi_scene)
mlab.colorbar(s)
view = View(Item('scene', editor=SceneEditor()))
if __name__ == '__main__':
MyApp().configure_traits()
호출한 창을 닫거나 닫는 항목을 추가할 수 있습니다.
예를 들어 그림을 닫을 수 있습니다.self.scene.mayavi_scene
함수를 사용합니다.
언급URL : https://stackoverflow.com/questions/45868645/mayavi-colorbar-in-traitsui-creating-blank-window
반응형
'programing' 카테고리의 다른 글
Xcode6: 시뮬레이터의 두 인스턴스 실행 (0) | 2023.05.31 |
---|---|
Xcode Project Navigator에서 물음표는 무엇을 의미합니까? (0) | 2023.05.31 |
활동 컨텍스트 외부에서 시작 활동() 호출 (0) | 2023.05.31 |
강제 업데이트 후 Git Pull (0) | 2023.05.31 |
findOneAndUpdate 메서드에서 업데이트된 문서를 다시 가져오는 방법은 무엇입니까? (0) | 2023.05.31 |