/*""" Tentativo di ottenere il valore y dal Generatore di grafici LineSeg Autore: jthi Data di creazione: 30/07/2024 Versione JMP di creazione: JMP Pro 18.0.0 Descrizione: post originale che mi ha dato questa idea (LinesSeg) https:/ /community.jmp.com/t5/Discussions/How-to-get-exact-cumulative-Prob-at-specified-value-in-CDF-Plot/mp/777203 """*/ Nomi predefiniti qui(1) ; //
https://community.jmp.com/t5/JMPer-Cable/Understanding-cubic-splines/ba-p/39511 può essere interessante leggere dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp"); cursore_x = 200; nw = Nuova finestra("Test", Casella di riepilogo V(align("center"), Casella di riepilogo V(Casella di testo("Regola per modificare X"), Casella di scorrimento(110, 530, slider_x, nw << finestra di aggiornamento, << Imposta larghezza(1000)), Casella di testo("Modifica le impostazioni più fluide del generatore di grafici per visualizzare le modifiche per visualizzare adattamenti diversi"), gb = dt << Generatore di grafici( Dimensioni(1000, 600), Mostra pannello di controllo(1 ), Adatta alla finestra("On"), Variabili(X(:PNP1), Y(:NPN1)), Elementi(Più liscio(X, Y, Legenda(4))) ); fb = Rapporto(gb)[FrameBox(1)]; /* ls = fb << Trova Seg(LineSeg(1)); m_x = ls << Ottieni X valori; m_y = ls << Ottieni valori Y; smooth = ls << Ottieni morbidezza; idx = Loc Ordinato(m_x, Matrice(xval))[1]; // {Stime, Std_Error, Diagnostica} = Regressione lineare(m_y[idx::idx+1], m_x[idx::idx+1]); // yval = Stime[2] * xval + Stime[1]; idx = Loc Ordinato(m_x, Matrice(xval))[1]; yval = Interpola(xval, m_x, m_y); Report(gb)[AxisBox(1)] << Aggiungi linea di riferimento(xval); Report(gb)[AxisBox(2)] << Aggiungi linea di riferimento(yval); */ /* m_x[2::N righe(m_x)::2] - m_x[1::N righe(m_x) - 1::2] m_y[2::N righe(m_y)::2] - m_y[1::N Righe(m_y) - 1::2] sl = Spline Smooth(m_x, m_y, smooth); */ Report(gb)[FrameBox(1)] << Aggiungi script grafica( ls = fb << Trova Seg(LineSeg(1)); m_x = ls << Ottieni valori X; m_y = ls << Ottieni valori Y; Indicatore(Stato indicatore(3), m_x, m_y); Dimensione penna(1); Linea(m_x, m_yval = Interpola(slider_x, m_x, m_y); , {slider_x, yval}); V Line(slider_x); H Line(yval); Testo(Giustificato a destra, Eval List({slider_x, yval + 1}), Eval Insert("(^Round(slider_x, 3)^ , ^Round(yval, 3)^)")); picchi = m_y[1::N righe(m_y) - 2] < m_y[2::N righe(m_y) - 1] & m_y[2::N Righe(m_y) - 1] > m_y[3::N righe(m_y)] | m_y[1::N righe(m_y) - 2] > m_y[2::N righe(m_y) - 1] & m_y[ 2::N righe(m_y) - 1] < m_y[3::N righe(m_y)]; peak_idx = Loc(picchi) + 1; Colore riempimento("Rosso"); Stati(Stato colore("Rosso"), Stato contrassegno(15)), m_x[peak_idx], m_y[peak_idx]);