嗨,我有一些不同的图形,其中背景根据y变量对不同的渐变结果。我目前有三个不同的图形构建器 - 每个y变量一个。由于背景渐变是唯一不同的东西,我想通过只有一个图形构建器使代码更简单,但使用if / else语句来确定要应用的正确背景:
Dispatch(
{},
"Graph Builder",
FrameBox,
{
if(
//graph 1
yAxis == "1",
Background Color( 1 ),
Add Image(Set Blob(green,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( graphMax ), Bottom( if(graphMin>0.51,graphMin,0.51) ) ),
SetSize( {95401, 918} )
),
Add Image(Set Blob(red,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( if(graphMax<0.49,graphMax,0.49) ), Bottom( graphMin ) ),
SetSize( {95401, 918} )
),
//graph 2
yAxis == "2",
Add Image(Set Blob(green,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( if(graphMax<0.75,graphMax,0.75) ), Bottom( if(graphMin>0.55,graphMin,0.55) ) ),
SetSize( {95401, 918} )
),
Add Image(Set Blob(redCogTop,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( graphMax ), Bottom( if(graphMin>0.75,graphMin,0.75 ) )),
SetSize( {95401, 918} )
),
Add Image(Set Blob(red,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( if(graphMax<0.55,graphMax,0.55) ), Bottom( graphMin ) ),
SetSize( {95401, 918} )
),
//all other graphs
Add Image(Set Blob(green,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( graphMax ), Bottom( graphMin ) ),
SetSize( {95401, 918} )
)
),
}
Grid Line Order( 2 ), Reference Line Order( 3 ),
DispatchSeg( BarSeg( 2 ), {Line Color( "Gray" )} )
}
),这是第一张图中的原始代码:
Dispatch(
{},
"Graph Builder",
FrameBox,
{
Background Color( 1 ),
Add Image(Set Blob(green,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( graphMax ), Bottom( if(graphMin>0.51,graphMin,0.51) ) ),
SetSize( {95401, 918} )
),
Add Image(Set Blob(red,"png"),
Bounds( Left( -100 ), Right( 100 ), Top( if(graphMax<0.49,graphMax,0.49) ), Bottom( graphMin ) ),
SetSize( {95401, 918} )
),
Grid Line Order( 2 ), Reference Line Order( 3 ),
DispatchSeg( BarSeg( 2 ), {Line Color( "Gray" )} )}
),
当然,第一个代码片段中有很多逗号混淆了if(),所以它不起作用。您对如何解决这个问题有什么建议吗?
谢谢堆,
的Mikael