назначение clim для сетки решило мою проблему!
Нужна помощь, чтобы установить фиксированную шкалу Z на 3D-поверхности Visvis.
Я пытаюсь использовать visvis для отображения трехмерной поверхности, но я не знаю, как изменить Z на фиксированный масштаб, например, я хотел бы показать цветную полосу для (0,500),
import visvis
#xig,yig,zig for 3d surface
app=visvis.use()
f = visvis.gca()
m = visvis.surf(xig,yig,zi)
m.colormap = visvis.CM_JET
m.clim = 0, 500
visvis.colorbar()
f.axis.visible = True#False
app.Run()
f.SetLimits (rangeX = [- 150,150], rangeY = [- 150,150], rangeZ = [0,500] не работает, но устанавливает только вид камеры:
модифицированная версия:
#use fixed z scale also color map scale
fixed_z_scale=500
z_scale=np.max(Z)-np.min(Z)
daspec_z=z_scale/fixed_z_scale
# visvis
app=visvis.use()
app.Create()
f = visvis.gca()
f.daspect=1, 1, daspec_z
f.axis.visible = False
#mesh
m = visvis.surf(xig,yig,zi)
m.clim=200,700
m.colormap = visvis.CM_JET
#view parameters
visvis.view({'zoom': 0.0035, 'elevation': 45.0})
visvis.title("Removal Thickness nm",axes=f)
visvis.colorbar()
#print(visvis.view())
#export image and mesh
visvis.processEvents()
visvis.screenshot("surf.jpg", sf=1)
visvis.meshWrite("surf.obj", m, "surf")
#if doesn't need GUI for users
#visvis.closeAll()
#show GUI window
app.Run()