/*""" Tentative d'obtention de la valeur y à partir de Graph Builder LineSeg Auteur : jthi Date de création : 2024-07-30 Création JMP Version : JMP Pro 18.0.0 Description : Article original qui m'a donné cette idée (LinesSeg) https:/ /community.jmp.com/t5/Discussions/How-to-get-exact-cumulative-Prob-at-specified-value-in-CDF-Plot/mp/777203 """*/ Noms par défaut ici (1) ; //
https://community.jmp.com/t5/JMPer-Cable/Understanding-cubic-splines/ba-p/39511 peut être intéressant à lire dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); curseur_x = 200 ; nw = Nouvelle fenêtre("Test", V List Box(align("center"), V List Box( Text Box("Ajuster pour changer X"), Slider Box(110, 530, slider_x, nw << fenêtre de mise à jour, << Définir la largeur (1 000) ); Zone de texte (" Modifier les paramètres plus fluides du générateur de graphiques pour voir les modifications afin de voir différents ajustements "), gb = dt << Générateur de graphiques (Taille (1 000, 600), Afficher le panneau de configuration (1 ), Ajuster à la fenêtre("On"), Variables(X(:PNP1), Y(:NPN1)), Elements(Smoother(X, Y, Legend(4))) ); fb = Rapport(gb)[FrameBox(1)]; /* ls = fb << Rechercher Seg(LineSeg(1)); m_x = ls << Obtenir les valeurs X ; m_y = ls << Obtenir les valeurs Y ; smooth = ls << Obtenir la douceur ; idx = Loc Sorted(m_x, Matrix(xval))(1]; // {Estimations, Std_Error, Diagnostics} = Régression linéaire (m_y[idx::idx+1], m_x[idx::idx+1]); // yval = Estimations[2] * xval + Estimations[1]; idx = Loc Sorted(m_x, Matrix(xval))(1]; yval = Interpoler (xval, m_x, m_y); Rapport(gb)(AxisBox(1)] << Ajouter une ligne de référence(xval); Rapport(gb)(AxisBox(2)] << Ajouter une ligne de référence(yval); */ /* m_x[2::N Lignes(m_x)::2] - m_x[1::N Lignes(m_x) - 1::2] m_y[2::N Lignes(m_y)::2] - m_y[1::N Lignes(m_y) - 1::2] sl = Spline Smooth(m_x, m_y, smooth); */ Report(gb)[FrameBox(1)] << Ajouter un script graphique ( ls = fb << Find Seg(LineSeg(1)); m_x = ls << Obtenir les valeurs X ; m_y = ls << Obtenir les valeurs Y ; Marqueur (État du marqueur (3), m_x, m_y); Taille du stylo (1); Ligne (m_x, m_y); yval = Interpoler (slider_x, m_x, m_y); , {slider_x, yval}); V Line(slider_x); H Line(yval); Texte(Justifié à droite, Liste d'évaluation({slider_x, yval + 1}), Eval Insert("(^Round(slider_x, 3)^ , ^Round(yval, 3)^)")); pics = m_y[1::N Lignes(m_y) - 2] < m_y[2::N Lignes(m_y) - 1] & m_y[2::N Lignes (m_y) - 1] > m_y[3::N Lignes (m_y)] | m_y[1::N Lignes (m_y) - 2] > m_y[2::N Lignes (m_y) - 1] & m_y[ 2::N Rows(m_y) - 1] < m_y[3::N Rows(m_y)]; Peak_idx = Loc(pics) + 1; Couleur de remplissage("Rouge"); States(Color State("Red"), Marker State(15)), m_x[peak_idx], m_y[peak_idx] );