Aggiunta di immagini a una tabella di dati da una directoryAmici, sto utilizzando JMP12 e vorrei aggiungere una serie di immagini PNG alla mia tabella dati.Vorrei farlo in modo da poterli utilizzare come etichette su un grafico a dispersione di flag di corrispondenza della media statistica e richiamare il PNG (un'immagine di un grafico dei limiti di controllo) passando il mouse sul valore di ciascun flag.Ho trovato un video SAS di Gail Massari che importava immagini di uccelli di stato da un URL web di Wikipedia; a differenza di lui, le mie immagini sono in una cartella, su un disco rigido locale.
Ho provato l'istruzione:
{"",{ newimage(open( "drive:\file path\filename.png",png))}" come voce in ciascuna rispettiva riga, ma tutto ciò che ottengo in cambio è un output "Empty()".
Sono nuovo nello scripting JSL e ho esaurito le idee.
Ri: Aggiunta di immagini a una tabella di dati da una directoryPrima dell'apertura, utilizzare la funzione If (File Exits(), Open(); ecc.; );
For( i = 1, i <= nr, i++,
If ( File Exists( :PNG_URL[i]|| ".png" ),
// do this only of the file is found
tp = Open( :PNG_URL[i], "png" );
Latest_Report:PNGs[i] = New Image( tp );
) // end if
);
Latest_Report:PNGs << label( 1 );
Ri: Aggiunta di immagini a una tabella di dati da una directorySviluppando questo argomento sull'utilizzo delle immagini (ad esempio *.png) come etichette sui grafici utilizzando il seguente ciclo:
For( i = 1, i <= nr, i++,
tp = Apri( :PNG_URL[i], "png" );
Latest_Report:PNGs[i] = Nuova immagine( tp )
);
Latest_Report: PNG << etichetta (1);
Ho appreso che ogni volta che il comando OPEN non riesce a trovare uno dei file PNG, lo script si interrompe e da quel momento in poi, qualsiasi altra riga che mostra gli indirizzi delle cartelle viene ignorata, con JMP che fornisce come risultato "(Vuoto)" su ciascuna cella rimanente della tabella.Ciò significa che mi ritrovo con informazioni preziose che non vengono visualizzate perché una riga attiva un errore nel ciclo.
Qual è il modo migliore per ignorarlo?
L'esecuzione successiva del ciclo aggiunge solo un'altra colonna (in questo caso :PNG_URL 2) e fornisce (come previsto) lo stesso risultato.
Ri: Aggiunta di immagini a una tabella di dati da una directoryAncora una volta, grazie per il tuo tempo.
Interagire in questa comunità è stata una deliziosa esperienza di apprendimento.
Ri: Aggiunta di immagini a una tabella di dati da una directoryI diari sono istantanee del tuo display.Un'opzione è salvare come .JRP con tabelle incorporate. Quindi, quando un altro lo apre, la tabella sottostante e il report sono attivi.
Nel JMP 13 e 14 Salva come HTM interattivo salva la visualizzazione e le etichette vengono incorporate.
Ri: Aggiunta di immagini a una tabella di dati da una directorygzmorgan, è stato fantastico e ha funzionato a meraviglia. Un grande grazie!!
Un'ultima domanda,
I diari in JMP.12 non sono in grado di visualizzare le etichette mentre selezioni o passi il mouse sopra i punti dati nei grafici?Ri: Aggiunta di immagini a una tabella di dati da una directoryIl percorso completo è in una colonna separata o hai una colonna per il percorso e una colonna per il nome del file?
Supponiamo che sia una colonna denominata :Path. Dal momento che sono tutti file PNG, allora
tp = Apri( :Percorso[i], "png" );
Se hai due colonne :Dir e :Name usa qualcosa di simile, se non c'è una barra finale per il nome della dir
tp = Open( :Dir[i] || "\" || :Nome[i], "png" );
Le versioni precedenti di JMP richiedevano un eval()
tp = Open( eval( :Dir[i] || "\" || :Nome[i] ) , "png" );
Provalo prima di eseguire lo script, esegui solo una riga sostituendo i con un numero per assicurarti di avere il percorso del file corretto.
Ri: Aggiunta di immagini a una tabella di dati da una directoryQuesto è esattamente ciò di cui ho bisogno e la soluzione è semplicemente elegante; Apprezzo molto il tuo tempo e il tuo aiuto.
Ora la sfida...
Ho i miei file PNG in 46 cartelle individuali e i file PNG condividono lo stesso nome; per esempio ho " graph30.png " ripetuto 20-30 volte ma ogni file viene salvato in una cartella diversa perché è l'immagine di un grafico dei limiti di controllo diverso.Ho già il percorso\nome file per ciascuno come colonna distinta nella mia tabella dati.
Quale sarebbe il modo migliore per cercarli ciascuno graficoXX.png in base al percorso\nome file specifico già disponibile in una colonna contigua?
Ri: Aggiunta di immagini a una tabella di dati da una directoryRSantana, il video di Gail mostrava come ottenere immagini da URL, non immagini incorporate.
Prova lo script che inizia con Nomi predefiniti su Qui (1). È stato creato in JMP 12.
Nota: se tutte le tue immagini sono dello stesso tipo, puoi semplificare le righe 11 e 12. Supponiamo che tutte le tue immagini siano png, quindi non hai bisogno della riga 11: _typ = word() e della riga 12 puoi rimuovere le funzioni Eval( EvalExpr() ). Ne avevo bisogno per questo esempio perché le immagini di esempio hanno tipi diversi e in JMP 12 open non valutava la variabile _ext; richiedeva che l'espressione fosse sostituita e poi valutata.
Questa sarebbe la linea semplificata 12 tp = Open("$Immagini_esempio/"||_fid[i], "png" );
Copialo e incollalo in una finestra di script JMP, eseguilo quindi passa con il mouse sui punti. Un ultimo commento riguarda l'incorporamento del "codice" di ciascuna immagine nella colonna della tabella.
Names Default to Here(1);
_fid = Files in Directory("$sample_images");
nr = nitems(_fid);
//Create a table
dt = New Table("demo",add rows(nr),
New Column("X", <<SET values=""></SET>