1

2 行のテキストで構成される splot で作成されたマップに (main 経由で) タイトルを追加しようとしましたが、2 行目がイタリック体になっています。各行のテキストは、変数名から取得されます。私は bquote と式を使っていろいろ試しましたが、うまくいきませんでした。

私の出発点の基本的な例を以下に示しますが、実際の使用法では、a と b のテキストはループの一部としてベクターから繰り返し描画されます。例のように 2 行を分割し、2 行目のテキストをイタリック体にする方法についての提案をいただければ幸いです。例が明確であることを願っています。前もって感謝します。

require(sp)
data(meuse)
coordinates(meuse)<-~x+y

a<-"line 1"
b<-"line 2"
title<-paste(a,'\n',b,sep="")

spplot(meuse,c("ffreq"),col.regions="black",main=title)
4

1 に答える 1

2
spplot(meuse, c("ffreq"), col.regions="black",
               main= expression( atop(line~1, italic(line~2) ) )  )

a="line 1" 変数と b="line 2" 変数を分離して「渡したい」場合は、次の形式を使用できます。

spplot(meuse, c("ffreq"), col.regions="black",
             main= as.expression( bquote( atop(.(a), italic(.(b) ) ) ) ) )

bquote() によって返される値は、実際には式ではなく、「言語」オブジェクトであることに注意してください。ラティスの作者であるディーパヤン・サーカーは、これらはラティスの枠組みの中で式と見なすに値しないという意見です。as.expression ラッパーなしでの使用bquoteは、ベース グラフィックスと ggplot2 では一般的に許容されますが、ラティス コールでは失敗します。私は最初に(失敗しました)試しました:

 spplot(meuse, c("ffreq"), col.regions="black",
             main=  bquote( atop(.(a), italic(.(b) ) ) ) ) 
于 2013-05-04T02:18:35.137 に答える