R用のEMDパッケージを使用しています。このパッケージには、Hilbert Spectrum(hilbertspecで計算)を表示するためのスペクトログラム関数があります。ただし、出力は実際にはあいまいで白黒です。
この機能には、カラー画像を出力するオプションがないようです。スペクトルを明確に、可能であればカラーで表示するにはどうすればよいですか。
グレーレベルはspectrogram
関数(gray()
)にハードコーディングされており、この設定を上書きするには、たとえば次のように使用できます。
# 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
もう1つのオプションは、関数のソースを使用しspectrogram
て、カラーパレットの引数を持つ独自のプロット関数を定義することです。