2016-02-19 65 views
1

我想在文本中显示颜色条上显示的值的单位。我在我的ILSurface中添加了一个颜色条,我想在颜色栏上显示我的单位以及范围。如何将单位标签添加到ILNumerics色条上

编辑:我想在底部下方的颜色栏底部显示文字,只勾选一个标签。

我能得到这个工作,这样

     new ILColorbar() 
         { 
          Children = { new ILLabel("nm") {Position = new Vector3(.2f,.98f,0) } } 
         } 

我要说的位置坐标不是很直观。我不得不基本上通过反复试验来调整数字,直到它适合。我知道值的范围是0..1,所以X值在底部是1,但是我想从边界开始。而Y值需要在一些缩进,但我不知道什么是一个很好的价值,但.2的作品。

enter image description here

回答

1

您可以访问ILColorbar的轴和以通常的方式进行配置。在刻度上使用LabelTransformFunc来设置您自己的标签文本。您可以使用默认的转换函数并添加您的单位字符串。 例子:

var cb = scene.First<ILColorbar>(); 
cb.Axis.Ticks.LabelTransformFunc = (ind, val) => 
{ 
    return ILTickCollection.DefaultLabelTransformFunc(ind, val) + "nm"; 
}; 

你可以阅读更多有关轴配置在这里:

Axis Configuration

LabelTransformFunc在ApiDoc

编辑: 如果只需要一个标签,然后添加一个新的ILColorbar组中的ILLabel对象如下:

new ILColorbar() { 
    new ILLabel("z(nm)") { 
     Position = new Vector3(0.5,1,0), 
     Anchor = new PointF(0.5f,0) 
    } 
} 

ILColorbar区域在颜色条的宽度和高度上具有相对坐标0..1。所以我们在ILColorbar的中间设置位置x,并将y设置在底部。 Anchor位置用作相对于Position点的相对位置。

ILLabel Documentation

+0

除了我不想在颜色栏上的每个值旁边的单位。我只想在颜色条的底部添加一个单位标签 –

+0

我还没有试过任何东西。我原来的问题是怎么做到的。在ColorBar对象中看不到明确描述单位标签或某种类型的默认文本或颜色标题的属性。上面给出的答案假定我会知道Axis和LabelTransformFunc与颜色条之间的关系以及它如何工作。我想要做的只是在显示所有值的单位的颜色条底部有一个文本标签。 –

+0

我试过了什么?这似乎是一个奇怪的问题要问?就好像我应该猜测并猜测,直到我找到有用的东西?如果说我是这么做的,那不是更容易吗?或者指出一个例子或文档来展示一个例子?初步的答案是我正在寻找的。除了我没有说明我只想要底部的一个标签。 –

相关问题