带有非线性标签的 vtkScalarBar
vtkScalarBar with non linear labels
有什么方法可以让标量条不自动将我的标签设置为线性值?
我想访问标签 table 并自行更改值,使其遵循我自己的公式。
// scalar bar
_hueLut = vtkLookupTable::New();
_hueLut->SetNumberOfTableValues(100);
_hueLut->SetTableRange(0, 100);
_hueLut->SetTableValue(0, 0, 0, 1);
_hueLut->SetTableValue(1, 0, 1, 0);
//etc...
_hueLut->Build();
_scalarBar = vtkScalarBarActor::New();
_scalarBar->SetLookupTable(_hueLut);
_scalarBar->SetTitle("logarithm scalar bar");
_scalarBar->SetNumberOfLabels(5);
_scalarBar->SetLabelFormat("%5.4g");
问题是我的标量条标签似乎显示值 0、25、50、75 和 100。我希望能够更改标签值。例如:0、10、25、50、100。
谢谢。
不直接支持指定您自己的函数,vtkLookupTable
中仅实现了线性和对数刻度,这是您的标量条值-颜色映射的 class。
但是,您可以轻松地从 vtkLookupTable
派生并覆盖 Build()
方法来实现任意映射。请参阅 vtkWindowLevelLookupTable
了解一个很好的例子。
如果您只需要对数转换,那么在您的计算机上设置 SetScaleToLog10()
卢特。并确保范围为正。
渐变功能有 3 个选项,可让您调整颜色的变化方式,您可以说颜色 "sensitivity"。 S 曲线(默认),它使您在范围、线性和 sqrt 的末端更加渐进。有关详细信息,请参阅文档。
HTH,
米罗
有什么方法可以让标量条不自动将我的标签设置为线性值?
我想访问标签 table 并自行更改值,使其遵循我自己的公式。
// scalar bar
_hueLut = vtkLookupTable::New();
_hueLut->SetNumberOfTableValues(100);
_hueLut->SetTableRange(0, 100);
_hueLut->SetTableValue(0, 0, 0, 1);
_hueLut->SetTableValue(1, 0, 1, 0);
//etc...
_hueLut->Build();
_scalarBar = vtkScalarBarActor::New();
_scalarBar->SetLookupTable(_hueLut);
_scalarBar->SetTitle("logarithm scalar bar");
_scalarBar->SetNumberOfLabels(5);
_scalarBar->SetLabelFormat("%5.4g");
问题是我的标量条标签似乎显示值 0、25、50、75 和 100。我希望能够更改标签值。例如:0、10、25、50、100。
谢谢。
不直接支持指定您自己的函数,vtkLookupTable
中仅实现了线性和对数刻度,这是您的标量条值-颜色映射的 class。
但是,您可以轻松地从 vtkLookupTable
派生并覆盖 Build()
方法来实现任意映射。请参阅 vtkWindowLevelLookupTable
了解一个很好的例子。
如果您只需要对数转换,那么在您的计算机上设置 SetScaleToLog10()
卢特。并确保范围为正。
渐变功能有 3 个选项,可让您调整颜色的变化方式,您可以说颜色 "sensitivity"。 S 曲线(默认),它使您在范围、线性和 sqrt 的末端更加渐进。有关详细信息,请参阅文档。
HTH,
米罗