Comment réinitialiser le zoom sur le graphique une fois modifié par le filtre de données local ?Chers Experts,
Je suis conscient que l'on peut réinitialiser le zoom appliqué par la loupe (sur le générateur de graphiques) en double-cliquant ou en maintenant la touche Alt enfoncée (la loupe étant activée). Cependant, cette fonctionnalité ne fonctionne pas si des modifications sont apportées au graphique à l'aide d'un filtre de données local lors d'un zoom avant. Le zoom avant et le zoom arrière (touche Ctrl enfoncée) fonctionnent toujours, mais j'aimerais que la "réinitialisation du zoom" revienne à l'état d'origine.
Cela est peut-être corrigé dans les prochaines versions de JMP. Pendant ce temps, je pourrais avoir une boîte à boutons sur mon application. Des idees pour faire cela? J'ai fait quelques essais avec la syntaxe suivante mais je n'ai pas trouvé de combinaison de travail
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("Big Class Graph",
V List Box(
bn = Button Box( "Reset zoom",
Report(gb)[GraphBuilderBox(1)] << SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 50 ), Max( 75 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 60 ), Max( 180 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
),
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 50 ), Max( 75 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 60 ), Max( 180 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
);
)
);
J'utilise JMP 16.
Merci,
Jeanne
GraphiqueScriptRe : Comment réinitialiser le zoom sur le graphique une fois modifié par le filtre de données local ?Salut tout le monde
Merci pour la suggestion d'utiliser Revert axis. Au moins suivre fonctionne pour moi
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("Big Class Graph",
V List Box(
bn = Button Box( "Reset zoom",
rgp = gb << report;
axisbox_x = rgp[axis box( 1 )];
axisbox_y = rgp[axis box( 2 )];
axisbox_x << Revert Axis;
axisbox_y << Revert Axis;
),
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch(
{},
"height",
ScaleBox,
{Min( 50 ), Max( 75 ), Inc( 5 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"weight",
ScaleBox,
{Min( 60 ), Max( 180 ), Inc( 10 ), Minor Ticks( 1 )}
)
)
);
)
);Re : Comment réinitialiser le zoom sur le graphique une fois modifié par le filtre de données local ?Ce n'est pas tout à fait la même chose, mais je sélectionne "Verrouiller les échelles" pour que tout filtrage ne modifie pas les échelles des axes.
dt = open("$sample_data\Travel Costs.jmp");
gb = dt << Graph Builder(
Show Control Panel( 0 ),
Lock Scales( 1 ), // "Freeze" the axes
Variables( X( :Days Advance Purchase ), Y( :Net Cost ) ),
Elements( Points( X, Y, Legend( 24 ) ), Smoother( X, Y, Legend( 25 ) ) ),
Local Data Filter(
Add Filter(
columns( :Booking Day of Week ),
Display( :Booking Day of Week, N Items( 5 ) )
)
),
SendToReport(
Dispatch(
{},
"Days Advance Purchase",
ScaleBox,
{Format( "Fixed Dec", 12, 0 ), Min( -1.48748767778993 ), Max( 130 ),
Inc( 20 ), Minor Ticks( 1 ), Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"Net Cost",
ScaleBox,
{Format( "Currency", "USD", 12, 0 ), Min( 0 ), Max( 6656.45852 ),
Inc( 1000 ), Minor Ticks( 1 ), Label Row( Show Major Grid( 1 ) )}
)
)
);
Re : Comment réinitialiser le zoom sur le graphique une fois modifié par le filtre de données local ?Vous pouvez inverser l'axe (également après filtrage). Faites-le une fois pour l'axe X et une fois pour l'axe Y. Vous pouvez également le programmer sous votre bouton, mais ce n'est pas beaucoup plus rapide.
