首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于ParaView的: Colorbar的放置

用于ParaView的: Colorbar的放置
EN

Stack Overflow用户
提问于 2016-03-03 22:09:34
回答 1查看 3.1K关注 0票数 2

有没有办法任意放置一个彩色条?

例如,将以下Python代码放入ParaView的shell:

代码语言:javascript
运行
复制
#### import the simple module from the paraview
from paraview.simple import *
#### disable automatic camera reset on 'Show'
paraview.simple._DisableFirstRenderCameraReset()

# create a new 'Wavelet'
wavelet1 = Wavelet()

# get active view
renderView1 = GetActiveViewOrCreate('RenderView')
# uncomment following to set a specific view size
# renderView1.ViewSize = [1229, 814]

# show data in view
wavelet1Display = Show(wavelet1, renderView1)
# trace defaults for the display properties.
wavelet1Display.Representation = 'Outline'
wavelet1Display.ColorArrayName = ['POINTS', '']
wavelet1Display.GlyphType = 'Arrow'
wavelet1Display.ScalarOpacityUnitDistance = 1.7320508075688779
wavelet1Display.Slice = 10

# reset view to fit data
renderView1.ResetCamera()

# set scalar coloring
ColorBy(wavelet1Display, ('POINTS', 'RTData'))

# rescale color and/or opacity maps used to include current data range
wavelet1Display.RescaleTransferFunctionToDataRange(True)

# change representation type
wavelet1Display.SetRepresentationType('Volume')

# get color transfer function/color map for 'RTData'
rTDataLUT = GetColorTransferFunction('RTData')

# get opacity transfer function/opacity map for 'RTData'
rTDataPWF = GetOpacityTransferFunction('RTData')

# show color bar/color legend
wavelet1Display.SetScalarBarVisibility(renderView1, True)

#### saving camera placements for all active views

# current camera placement for renderView1
renderView1.CameraPosition = [0.0, 0.0, 66.92130429902464]
renderView1.CameraParallelScale = 17.320508075688775

我可以使彩色条水平,但我找不到一个方法来修改它的位置。见下图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-04 17:29:36

首先获取与查找表(rTDataLUT)和呈现视图(renderView1)对应的标量栏:

代码语言:javascript
运行
复制
scalarbar = GetScalarBar(rTDataLUT, renderView1)

然后,使用position属性设置标量条左下角的位置。此位置表示为呈现视图大小在每个方向的比率。默认值应为0.85,0.05。例如:

代码语言:javascript
运行
复制
scalarbar.Position = [0.85, 0.2]

最后,使用Render()更新您的呈现视图:

代码语言:javascript
运行
复制
Render(renderView1)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35784064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档