2015-05-01 34 views
5

Le routine rgl accettano l'uso di "espressione" per le lettere greche e lo script super/secondario per l'etichettatura degli assi?Utilizzo di "espressione" nelle etichette degli assi Rglgl

Qualcosa di simile

xlab=(expression(paste("Lyman ",alpha,))) 

funziona perfettamente in un call plot normale, ma sembra solo per visualizzare "(pasta (" Lyman "alfa,)" come la mia etichetta asse in tracciare3d e decorate3d. In caso contrario, ? come posso aggiungere questi personaggi ai miei grafici a dispersione 3D generati utilizzando tracciare3d

+0

Fondamentalmente, no. L'autore e il manutentore di pkg: rgl ha detto che sarebbe bello ma troppo difficile da costruire capacità plotmath in quel pacchetto. Hai bisogno di dirci quale font (che richiede sapere quale dispositivo grafico) stai usando se vuoi un consiglio preciso. –

+0

Pensavo di essere in grado di trovare una risposta sfacciata, ma fondamentalmente ho fallito. Duncan Murdoch a volte in passato ha suggerito di utilizzare uno "sprite" a cui è stato applicato il bitmap del simbolo desiderato. –

+0

OK. Peccato, ma grazie per aver chiarito che non è possibile. Dovrò solo incollare le etichette su utilizzando un pacchetto minore quindi. –

risposta

3

Sul mio sistema (OSX 10.7.5, R 3.1.2) ottengo un alfa come XLAB con:

require(rgl) 
plot3d(1,1,1,xlab=intToUtf8(0x03B1L)) 

e incollando al ordinar il testo ha anche esito positivo:

plot3d(1,1,1, xlab=paste("Lyman ", intToUtf8(0x03B1L))) 
+0

Funziona anche sul mio Mac (OS X 10.10.3, R3.1.2), grazie. Tuttavia sul mio computer con Windows 7 (R3.0.1) il carattere alfa viene semplicemente visualizzato come una "a". Riesco a vedere i greci minuscoli con 'intToUtf8 (945: 960)' come descritto sopra ma poi non verranno visualizzati nella finestra del grafico 3D sotto Windows. A proposito, c'è un trucco simile per super e sotto-script? –

+0

Come ho scritto, è necessario sapere quali caratteri vengono utilizzati e che dipende dal dispositivo. Suggerisco di eseguire rglFonts() e quindi utilizzare le funzionalità fornite nella pagina di aiuto per 'punti' per visualizzare il testo nei caratteri disponibili. Se hai trovato utile ciò che ho cercato, dovresti almeno modificare questa risposta, anche se è incompleta e non "controllabile". –

+0

Dovresti essere in grado di installare i font Amaya (link nella pagina '? RglFonts') nella tua libreria' ../ library/rgl/fonts/'(dovunque il tuo dispositivo Windows abbia la sua libreria e se non lo sai usare '.libPaths()' per trovarlo) e quindi eseguire il codice in fondo a quella pagina di aiuto. –