web-dev-qa-db-ja.com

R:ラティス(レベルプロット)のカラーテーマを変更する方法は?

私のインストールのデフォルトのテーマは、値をピンクとシアンにマップするものです。たとえば、グレースケールのテーマに変更するにはどうすればよいですか?

16
user442446

あなたが使用することができます

library(lattice)
lattice.options(default.theme = standard.theme(color = FALSE))

印刷に適した白黒をオンにします。私も次のようなもので遊んだことがあります

sb <- trellis.par.get("strip.background") 
sb[["col"]][1] <- "lightgray"
trellis.par.set("strip.background", sb) 

ヘッダーの背景だけを変更します。

そして、私は人々がここで ggplot2 質問をするだけだと思いました:)変更のためにいくつかの lattice を見てうれしいです。

16

答えてくれてありがとう!また、このテーマに関する詳細情報を見つけるのにも役立ちました。たとえば、次のコマンドを使用してグレーのスケールを制御できることを学びました。

levelplot(my_var, col.regions = gray(0:100/100))

これにより、黒(0)から白(1)まで100色のグレーが得られます。

この関数を使用して、前処理したグレースケール画像(写真)を二重行列にプロットしています。それが最善のアプローチかどうかはわかりませんが、これまでのところ機能しており、EBImageおよびrimageライブラリの基本的な表示オプションよりも多くのグラフオプションが提供されると思います。カラー画像の表示に合わせてパレットを変更する方法がわかりませんが、これまでのところ変更する必要がなかったのはうれしいです...

11
user442446

あなたの要求を達成するために多くの方法があります。最も単純なものは次のとおりです。

trellis.device(color = FALSE)

もう一つは

ltheme <- canonical.theme(color = FALSE) ## in-built B&W theme 
ltheme$strip.background$col <- "transparent" ## change strip bg 
lattice.options(default.theme = ltheme) ## set as default 

詳細については、このメールアーカイブアイテムを参照してください: Re:[R]格子白黒テーマを指定

5
Greg

私のために働いた唯一のものは:

>trellis.par.set(canonical.theme(color = FALSE)) 
2
Carla

最近わかったように、図のサイズが大幅に縮小されるため、panel.levelplot.rasterの使用を検討することもできます。このヒントと一般的なトレリス設定の変更を組み合わせて、次の例を示します。

trellis.par.set(regions=list(col=topo.colors(100)))
levelplot(volcano, panel = panel.levelplot.raster)

levelplot(volcano, panel = panel.levelplot.raster,
          par.settings=list(regions=list(col=topo.colors(100))))

トレリスの設定は実際にはグローバルに変更されているため、2番目の方法は欺瞞的です。 col.regionsの引数については知りませんでしたが、ローカルでカラーテーマが変更されているように見えるので、かなりいいです。

2
hatmatrix