Salut
Je voudrais tracer 3 lignes et une zone ombrée entre les lignes extérieures à l'aide du script de personnalisation du générateur de graphiques. La première est la ligne y0=x. Les deuxième et troisième lignes sont y1= a*x et y2 = b*x. (exemple a = 1,05 et b = 0,95 Je veux ombrer entre les lignes y1 et y2. J'utilise un remplissage polygonal pour ce faire, mais la fonction polygone nécessite des valeurs fixes et ne s'adapte pas aux axes du graphique. Comment puis-je faire évoluer la région ombrée avec le graphique comme le font les trois lignes ? c'est à dire mettre une variable dans la fonction polygone

Pen Size( 4 );
Line Style( dashed );
Pen Color( "black" );
Y Function( x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( 1.1 * x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( .9 * x, x );
Transparency( 0.5 );
Fill Color( {0.38, 0.84, 0.67} );
Polygon( [0.05, 1, 1, .05], [.045, .95, 1.05, .055] );
Merci, j'ai adapté cela un peu et inclus Colonel Max (Colonne 2) comme limite supérieure afin que tout cela aille dans l'environnement de script plus petit du générateur de script sans avoir à définir un script de création de graphique complet. Merci pour l'aide
Pen Size( 4 );
Line Style( dashed );
Pen Color( "black" );
Y Function( x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( 1.1 * x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( .9 * x, x );
Transparency( 0.5 );
Fill Color( {0.38, 0.84, 0.67} );
xMat = [0];
yMat = [0];
xMax = 2*Col Max (Column 1);
yMax = 2*Col Max (Column 2);
xMat = xMat || xMax || xMax || [0];
yMat = yMat || xMax * 1.1 || xMax * .9 || [0];
Polygon( xMat, yMat );Voici un exemple simple de la façon dont vous pouvez modifier le polygone pour qu'il corresponde aux paramètres de l'axe.


Names Default To Here( 1 );
dt = New Table( "Sample",
Add Rows( 7 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.65] )
),
New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [0.2, 0.3, 0.25, 0.3, 0.55, 0.68, 0.9] )
)
);
gb = Graph Builder(
Size( 528, 454 ),
Show Control Panel( 0 ),
Variables( X( :Column 1 ), Y( :Column 2 ) ),
Elements( Points( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"Column 1",
ScaleBox,
{Min( -0.0389121338912134 ), Max( 1.21814306472226 ), Inc( 0.2 ), Minor Ticks( 1 ),
Label Row(
{Major Grid Line Color( 1 ), Minor Grid Line Color( 1 ), Show Major Grid( 1 ),
Show Minor Grid( 1 )}
)}
),
Dispatch(
{},
"Column 2",
ScaleBox,
{Min( -0.05302734375 ), Max( 1.20978927612305 ), Inc( 0.2 ), Minor Ticks( 2 ),
Label Row(
{Major Grid Line Color( 1 ), Minor Grid Line Color( 1 ), Show Major Grid( 1 ),
Show Minor Grid( 1 )}
)}
)
)
);
Report( gb )[FrameBox( 1 )] << Add Graphics Script(
Pen Size( 4 );
Line Style( dashed );
Pen Color( "black" );
Y Function( x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( 1.1 * x, x );
Pen Size( 4 );
Line Style( dashed );
Pen Color( "red" );
Y Function( .9 * x, x );
Transparency( 0.5 );
Fill Color( {0.38, 0.84, 0.67} );
xMat = [0.05];
yMat = [.045];
xMax = Report( gb )[AxisBox( 2 )] << get max;
xMat = xMat || xMax || xMax || [0.045];
yMat = yMat || xMax * 1.1 || xMax * .9 || [0.055];
Polygon( xMat, yMat );
);