大家好,JMP 社区,
目前,我正在编写一个脚本,该脚本以预填充图形生成器的形式创建绘图模板等内容。脚本如下。开放图形生成器应该由通常想要查看绘图中现有 4 个信号以外的其他信号的用户使用。因此,他通常会开始拖动另一列并将其放在现有 4 个信号的顶部或底部。
问题是手动拖放到 y 轴上的新信号被分配了标准颜色。我希望图中的所有信号都具有 :State 定义的相同颜色,无论有多少信号被拖放到 y 轴上并从 y 轴上拖出,而无需通过图例属性手动分配正确的颜色。
如何实现这一点?
谢谢
抢
Graph Builder(
Variables(
X( :Time ),
Y( :Signal 1 ),
Y( :Signal 2 ),
Y( :Signal 3 ),
Y( :Signal 4 ),
Color( :State )
),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 4 ) ) ),
Elements( Position( 1, 2 ), Line( X, Y, Legend( 5 ) ) ),
Elements( Position( 1, 3 ), Line( X, Y, Legend( 6 ) ) ),
Elements( Position( 1, 4 ), Line( X, Y, Legend( 7 ) ) ),
SendToReport(
Dispatch( {}, "Signal 3", ScaleBox, {Format( "Best", 12 )} ),
Dispatch( {}, "Signal 4", ScaleBox, {Format( "Best", 12 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
4,
Properties( 0, {Line Color( 21 )}, Item ID( "Here", 1 ) ),
Properties( 1, {Line Color( 20 )}, Item ID( "are", 1 ) ),
Properties( 2, {Line Color( 41 )}, Item ID( "different", 1 ) ),
Properties( 3, {Line Color( 37 )}, Item ID( "labels", 1 ) ),
Properties( 4, {Line Color( 0 )}, Item ID( "for", 1 ) ),
Properties( 5, {Line Color( 32 )}, Item ID( "certain", 1 ) ),
Properties( 6, {Line Color( 1 )}, Item ID( "system", 1 ) ),
Properties( 7, {Line Color( 32 )}, Item ID( "states", 1 ) )
)}
)
)
)
一种选择是将 Value Colors 列属性设置为 :State 并使用所需的颜色。
嗨,
是的,谢谢,如果 :State 应该在所有图中始终具有相同的颜色,这是一个很好的解决方案。 事实上,我有几个情节,其中两个涉及:具有不同颜色的状态。 所以我想,与其通过列属性实现着色,不如在各自的图中进行。
我可以做的是根据需要经常复制 :State 并始终分配不同的值颜色属性。 但我不喜欢这种解决方案,因为它感觉像是一种解决方法。 
我认为您可能需要编写一些脚本并在更改情节时设置这些颜色。 不确定它是否可以在更改时自动触发,但您可以例如添加一个按钮。
还可以选择使用颜色或按列标记...但是如果您想在不同的图中对相同的状态使用不同的颜色,您会遇到同样的问题。
