0

を使用するgroupsと、ラティスは各グループに異なる色を与えます。例:

df <- data.frame(x=1:56, y=rnorm(56), class=1:14) # create some data
xyplot(y ~ x, groups=class, data=df, type="l", auto.key=list(space="right"))

ただし、上記の例を実行するとわかるように、デフォルトでは Lattice は 7 色しか使用しません。7 つ以上のグループがある場合、Lattice は再び順番に色を切り替え、異なるグループのデータが同じ色になるようにします。別の Stackoverflow の記事で、これらの色が に保存されていることを知りましたtrellis.par.get()$superpose.symbol$col。グループの色のリストを長くしたい (プロット呼び出しで明示的に色を指定する必要はありません)。ただし、この色のリストを変更する方法がわかりません。(これは、Lattice の構文またはセマンティクスに関するいくつかの基本的な事実を知らないことが原因である可能性があります。) これは問題を示しています。

> trellis.par.get()$superpose.symbol$col
[1] "#0080ff"   "#ff00ff"   "darkgreen" "#ff0000"   "orange"    "#00ff00"   "brown"    
> class(trellis.par.get()$superpose.symbol$col)
[1] "character"
> mycolors <- c(trellis.par.get()$superpose.symbol$col, "navyblue", "purple", "gold")
> trellis.par.get()$superpose.symbol$col[1:10] <- mycolors
Error in trellis.par.get()$superpose.symbol$col[1:10] <- mycolors : 
  invalid (NULL) left side of assignment

そのエラー メッセージが何を伝えているのかわかりません。

4

1 に答える 1

4

trellis.par.set()トレリスのグラフィカル パラメータを設定するには、 を使用する必要があります。そう:

trellis.par.set(superpose.symbol = list(col = mycolors))

これは現在アクティブなデバイスの設定のみを変更するため、新しいグラフィック デバイスを作成する場合は、色の設定をリセットする必要があることに注意してください。

?trellis.par.getまた、詳細セクションのヘルプ ページで説明されています。そちらをご覧ください。

于 2012-10-19T05:25:58.160 に答える