Hallo, ich habe einige verschiedene Grafiken, bei denen der Hintergrund je nach y-Variable aus unterschiedlichen Gradienten besteht. Ich habe derzeit drei verschiedene Graph Builder - einen für jede Y-Variable. Da die Hintergrundverläufe die einzigen Unterschiede sind, wollte ich den Code vereinfachen, indem nur ein Diagramm-Generator verwendet wurde. Mit den if / else-Anweisungen wurde jedoch der richtige Hintergrund bestimmt:
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" )} )
}
),Hier ist der Originalcode aus der ersten Grafik:
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" )} )}
),
Natürlich gibt es im ersten Code-Snippet viele Kommas, die das if () verwirren, so dass es nicht funktioniert. Haben Sie Vorschläge, wie dieses Problem gelöst werden könnte?
Tausend Dank,
Mikael
Vielen Dank! Ich kann es jedoch nicht zum Laufen bringen - selbst die Verwendung der Funktion eval (parse ()) für kleine Teile des Codes funktioniert für mich nicht. Ich werde versuchen, den Code bald hochzuladen. Vielleicht wurde ein Licht auf das, was los ist.