xyplot
の周りのボックスを削除するにはどうすればよいでしょうか? Edward Tufteのミニマリストデータグラフィックの精神では、これらの軸線は「非データインク」であり、「消去」する必要があります。R格子xyplot上で軸ティックと軸線を別々に制御
library(lattice)
my.df <- data.frame(x=-10:10)
my.df$y <- my.df$x^2
xyplot(y~x,data=my.df)
一緒ティックトレリス表示パラメータ(例えばaxis.line$col
)が軸線や軸の両方を制御しているようです:
xyplot(y~x,data=my.df,
par.settings=list(axis.line=list(col="transparent")))
...です希望の結果ではないので、ボックスを出ている間にラインをオフにする簡単な方法がないように見えます。
私が思い付くことができました最高のは、私がpanel.segments
を用いて手で目盛りを構築ブルートフォースハック、次のとおりです。
at.x=pretty(c(-10,10))
at.y=pretty(c(0,100))
xyplot(y~x,data=my.df,
par.settings=list(axis.line=list(col="transparent")),
scales=list(x=list(at=at.x,labels=at.x),
y=list(at=at.y,labels=at.y)),
panel=function(...){
panel.xyplot(...)
panel.segments(x0=at.x,x1=at.x,y0=-4,y1=-2)
panel.segments(x0=-11.5,x1=-11,y0=at.y,y1=at.y)
}
)
これが近くにあります目立った結果が得られますが、チックマークを合理的な長さにし、データポイントから「いい」距離を相殺するためにはかなりの手間がかかります。これらの値は1つの図形から次の図形に変換されません。さらに、軸ラベルが目盛りからあまりにも遠くにパディングされていることに注意してください。私はそのパディングを減らす方法があると確信していますが、それだけでコードが醜くて移植性が低くなります。
したがって、ティックマークと軸ラベルをそのまま残したまま、プロット領域の周りの "ボックス"を構成する線を抑制することはできますか?このアプローチを使用して、ラインのすべてではなく一部を抑制することができる場合(例えば、左と下のラインを残すが、上と下のラインは抑止する)、ボーナスポイント。
これは素晴らしいです。軸機能の各ラインが何をしているのか、なぜそれをやっているのかを少し解説しておきますか?私は、低レベルの軸関数(例えば 'axis.default'のようなヘルプドキュメントはあまり啓発されていません)のヘルプドキュメントを探しています。 – mac
@mac、トレリスオプションの不要な変更がありました。 – BenBarnes
Nice.FuWW、 'line.col =" black "'は 'panel.axis()'がデフォルトで 'trellis.par 'からの線の色をとるため、' line.col = "black" 'が必要です。 –