嗨,我正在寻找让我获得实际颜色映射范围(最小和最大)值或(最小和最大)场景值的方法。我需要使用像RescaleTransferFunction(min, max)
这样的值来更改范围刻度值,其中min和max值是根据实际刻度值设置的。
假设您有一个数据源s
。您可以使用以下命令从s
中找到数据范围值:
info = s.GetDataInformation().DataInformation
arrayInfo = info.GetArrayInformation("Normals", vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS)
range = arrayInfo.GetComponentRange(0)
获得数据范围后,可以设置标量条范围
tf = GetColorTransferFunction("Normals")
tf.RescaleTransferFunction(range[0], range[1])
op = GetOpacityTransferFunction("Normals")
op.RescaleTransferFunction(range[0], range[1])