Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Ho uno script che crea un grafico usando Graph Builder che mostra i dati delle misurazioni. Dopo aver prodotto il grafico, eseguo un ciclo delle misurazioni mese per mese e uso il comando Add Variable per aggiungere curve fit calcolate mensilmente per mostrare lo sviluppo nel tempo dei dati registrati.
Ora sto cercando di capire come posso aggiungere un'etichetta a ogni curva tracciata tramite script. Le etichette delle colonne per le curve sono attualmente qualcosa come "dati del 24 giugno", "dati del 24 luglio", ecc. Quando faccio clic con il pulsante destro del mouse sulla curva per i dati di ogni mese nella finestra delle legende, posso aggiungerla selezionando Etichetta>Nome. Ciò mostrerà il nome accanto a ogni curva tracciata. Posso anche fare clic con il pulsante destro del mouse sull'area del grafico, scegliere Personalizza e accedere all'impostazione del nome per la curva, ma questa non viene aggiornata sul grafico e quando torno alle impostazioni è stata deselezionata. Sembra un bug, ma forse lo uso nel modo sbagliato. Comunque, sto cercando di trovare un modo per aggiungere il nome dell'etichetta in questo modo tramite JSL.
Ho provato ad acquisire queste modifiche utilizzando un flusso di lavoro, ma non cattura le modifiche apportate alle impostazioni delle legende.
Ho fatto diverse ricerche ma non riesco a trovare alcuna discussione su questa specifica aggiunta a un grafico usando JSL, né riesco a trovare documentazione al riguardo nell'indice di scripting. C'è qualcosa chiamato legends server ma non sono riuscito a trovare una discussione pertinente. Forse posso usare SendToReport(Dispatch())? Ci sono altre varianti che dovrei prendere in considerazione? Gradirei anche qualsiasi suggerimento su dove potrei imparare di più su JSL per produrre e adattare grafici tramite Graph Builder.
Automazione e scriptingR: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Penso che tu debba farlo tramite il server Legend (o quando crei l'espressione del generatore di grafici)
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Transform Column("Row", Formula(Row())),
Variables(X(:Row), Y(:height)),
Elements(Line Of Fit(X, Y, Legend(5), Confidence of Fit(0))),
SendToReport(
Dispatch({}, "400", ScaleBox,
{Legend Model(
5,
Properties(
0,
{Line Label Properties({Name Label(1)})},
Item ID("height", 1)
)
)}
)
)
);
gb << Add Variable({:weight, Role("Y"), Position(1)});
server = gb << Get Legend Server;
items = server << Get Legend Items;
For(i = 1, i <= N Items(items[1]), i++,
items[1][i] << Set Properties(
{Line Label Properties({Name Label(1)})}
)
);
R: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Questa soluzione ha funzionato, grazie!
È interessante notare che quando salvo il grafico con le etichette aggiunte come HTML interattivo, le etichette non sono nel grafico quando lo apro. Tuttavia, sono incluse quando lo salvo come un normale file HTML e lo apro. Ho pensato di menzionarlo nel caso in cui qualcun altro segua questo approccio e nel caso in cui tu voglia registrarlo come bug, anche perché la tua soluzione è documentata qui, quindi sarà più facile da riprodurre.
R: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Quale versione di JMP hai? In base a un test molto rapido sembra funzionare in JMP18.1

R: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Ah, è bello saperlo, sto usando la versione 17.0.0. E quando controllo il registro dei messaggi, dice che "Le etichette di riga non sono supportate e sono omesse dal report." quindi non è un bug, a quanto pare avrei dovuto controllare prima lì.
Grazie per la risposta!
Anche salvarlo come immagine funziona, in quanto le etichette delle linee sono incluse, ed è ciò che fa il normale salvataggio HTML.
R: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Esatto. Le etichette di linea sono state aggiunte a JMP in JMP 17, ma non sono state supportate in HTML interattivo fino a JMP 18.
Grazie,
~Giovanni
R: Come aggiungere il nome dell'etichetta a una legenda in un grafico di Graph Builder tramite JSL?Ciao @Dape ,
Grazie per non averlo definito un bug e per aver ricordato ai lettori della JMP User Community che quando qualcosa non appare nella versione HTML interattiva o se la versione HTML interattiva contiene elementi non interattivi, è una buona idea controllare nel registro per vedere se si tratta di una limitazione nota dell'HTML interattivo.
Quando una nuova funzionalità viene aggiunta a JMP, spesso non possiamo supportarla in HTML interattivo entro lo stesso ciclo di rilascio. Invece ci concentriamo sulle funzionalità aggiunte nelle release precedenti che riteniamo siano quelle di cui gli utenti hanno più bisogno.
Scriviamo il messaggio "non supportato" nel registro quando riteniamo che sarebbe un peccato perdere l'interattività a causa di una particolare funzionalità che non supportiamo e utilizziamo il messaggio "non interattivo" quando riteniamo che una funzionalità debba essere visualizzata nella visualizzazione HTML interattiva, a scapito dell'interattività.
In entrambi i casi, invitiamo gli utenti a farci sapere tramite il supporto tecnico JMP o la JMP Wish List che desiderano il supporto per una particolare funzionalità in HTML interattivo, poiché diamo priorità ai nostri sforzi in base al feedback degli utenti.
Hai anche sottolineato che l'esportazione HTML regolare usa immagini e visualizza le etichette di riga. Questa può essere una buona alternativa per i casi in cui la nostra decisione di "omettere una funzionalità piuttosto che perdere interattività" va contro le tue esigenze.
Grazie,
~Giovanni