La solution que je vais proposer nécessitera une formule, un filtre de données global (cela affectera la table de données) et des scripts. L'idée est d'utiliser la colonne de formule comme axe X qui recalculera toujours la durée en fonction de la première ligne NON exclue :
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Date", Numeric, Continuous, Set Each Value(Today() + Row()));
dt << New Column("TimeSinceStart", Numeric, Continuous, Set Each Value(:Date - :Date[1]));
dt << New Column("TimeWithFormula",
Numeric,
"Continuous",
Format("Best", 12),
Formula(If(!Excluded(), :Date - Col Min(:Date, !Excluded()), .))
);
nw = New Window("",
H List Box(
dt << Data Filter(
Mode(Include(1)),
Add Filter(columns(:Date))
),
gb = dt << Graph Builder(
Size(535, 457),
Show Control Panel(0),
Variables(X(:TimeWithFormula), Y(:weight)),
Elements(Points(X, Y, Legend(3)), Smoother(X, Y, Legend(4)))
)
)
);
Il existe d'autres façons de le faire, mais cela devrait être une option assez simple
Bonjour,
J'ai un datatable qui se compose de:
durée date-heure absolue en secondes à partir des premiers points de données d'horodatage associés à chaque date-heure
Lorsque je trace les points de données, je place souvent la durée sur l'axe X, puis recadre/filtre l'axe X sur une période d'intérêt.
Cependant, lors du recadrage de l'axe X dans le générateur de graphiques, la durée ne commence plus à "zéro". Quelle est la manière la plus simple de toujours commencer la durée au temps "zéro" dans le graphique ? Je voudrais faire cela pour que le graphique soit plus propre et plus facile à lire.
S'il est possible de le faire sans modifier la table de données sous-jacente et simplement changer le comportement d'affichage de l'axe, ce serait formidable. Sinon, je suppose que je devrai peut-être faire référence aux limites de l'axe de la fenêtre graphique dans la formule de la colonne de durée - mais après quelques recherches, je ne vois pas comment procéder.
Merci d'avance pour toute aide ou suggestions!