2

ラティスプロットでストリップ名を正しく書くのに苦労しています。以下はデータの例です。

    resposta<-rnorm(90)
    preditor1<-rep(rep(c("a","b"),each=15),3)
    preditor2<-rep(c("sp1","sp2","sp3"),each=30)

そして、私は次のプロットをやっています:

    library(lattice)
    bwplot(resposta~preditor1|preditor2,layout=c(3,1),
           strip=strip.custom(
               factor.levels=c(
                   expression(atop(italic("P. paradoxa"),"outra info")),
                   expression(atop(italic("H. raniceps"),"outra info")),
                   expression(atop(italic("P. azurea"),"outra info")))
           ),
           par.settings=list(layout.heights=list(strip=2.5))
           )

私の質問は、種名と「outra info」の間のスペースを小さくする方法はありますか. この問題は、タイトルが種名であるためイタリック体にする必要があるために発生しましたが、タイトルに追加情報を追加する必要があり、これはイタリック体であってはなりません。atopGoogleで anexpressionを使用して 2 行のテキストを取得できる可能性を見ましたが、種名と次の行の間にスペースが大きすぎます。もっと近くにいてほしいのですが、それが可能かどうか、可能であればどうすればよいかわかりません。

ストリップ名の行をスキップする方法を知っている人はいますか?イタリック体の表現を維持しながら、名前の間にスペースをあまり空けませんか? プロットではそれほど悪くはありませんがtiff()、より大きなサイズの画像に保存するために使用すると、基本的に線間の距離が原因で、ストリップ名の一部が欠落していると思います.

4

1 に答える 1

2

R-help メーリング リストでDuncan Murdoch が説明したように、この問題は採用せずに簡単に解決することはできませんatop(特定のケースでは、望ましくない大きな行間が発生します)。downViewportただし、 を使用してそれぞれのストリップ パネルに移動し、続いて を使用して 2 行のテキストを別々に挿入することにより、手動で目的を達成することができますgrid.text

## create plot with invisible strip labels
bwplot(resposta ~ preditor1 | preditor2, layout = c(3, 1),
       par.settings = list(layout.heights = list(strip = 2.5)), 
       par.strip.text = list(col = "transparent")
)

## add species labels
lbl <- c("P. paradoxa", "H. raniceps", "P. azurea")

for (i in 1:3) {
  # navigate to i-th strip
  vp <- paste0("plot_01.strip.", i, ".1.vp")
  downViewport(vp)

  # add first and second line of text
  grid.text(bquote(italic(.(lbl[i]))), vjust = ifelse(i %in% 1:2, 0, -.25))
  grid.text("outra info", vjust = 1.1)

  # navigate to top level
  upViewport(0)
}

paneled_plot

また、current.vpTree()どれがトレリス グラフの現在のパネル構造を返すかを確認してください。パネル レイアウトを再定義したり、別のグループを追加したりしたら、ほとんどの場合、forループ内の (オブジェクト "vp") に移動するパネル名の作成を調整する必要があります。

于 2016-04-19T14:10:37.633 に答える