Come creare un sensibile trama Hilbert Spectrum con R (ambiente di calcolo)
Domanda
Sto usando il EMD pacchetto per R. Questo pacchetto ha una funzione spettrogramma per la visualizzazione di un Hilbert Spectrum (calcolato con hilbertspec). L'uscita però, è veramente vago e bianco-nero.
Questa funzione non sembra avere un'opzione per l'output di immagini a colori. Come posso ottenere lo spettro visualizzato in modo chiaro e, se possibile, a colori.
Soluzione
I livelli di grigio sono hardcoded nella funzione spectrogram
(gray()
), per ignorare questa impostazione si potrebbe usare, per esempio, il seguente:
# define a color palette
colors <- colorRampPalette(c("#007FFF", "blue", "#000077"))
gray <- function(x) colors(255*x) # redefine gray palette
spectrogram(test1$amplitude[,1], test1$instantfreq[,1])
gray <- grDevices::gray # reset gray palette function
Un'altra opzione è quella di utilizzare la fonte della funzione spectrogram
di definire la propria funzione di trama che ha un argomento per la tavolozza dei colori.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow