1

データのセットがあり、それをプロットする各ジオメトリに凡例を追加したいとします。例えば:

x <- rnorm(100, 1)
qplot(x = x, y = 1:100, geom = c("point", "smooth"))

そして、それは次のようになります。

ここに画像の説明を入力してください

ここで、凡例を追加して、次のように表示します。

Legend title
*   points [in black]
--- smoothed [in blue]

ここで、「凡例のタイトル」、「ポイント」、および「スムーズ」の名前を指定します。

どうすればいいですか?

4

2 に答える 2

2

追加情報を追加する最も簡単な方法は、凡例ではなく注釈を使用することです。

(おもちゃの例であることは知っていますが、ggplotは、1種類の点と1種類の線しかない場合、凡例を含めないことで賢明です。凡例を作成することもできますが、デフォルトでは、より多くのスペースとインクを必要とします.必要であり、より多くの作業が必要です. 点が 1 種類しかない場合、その意味は x 軸と y 軸のラベルとグラフの一般的な文脈から明らかであるべきです. 他の情報が不足していると、読者はその線がある関数を点に当てはめた結果. 彼らが知らない唯一のものは、特定の関数と灰色のエラー領域の意味です. それは単純なタイトル、注釈、またはプロット外のテキストである可能性があります.)

#Sample data in a dataframe since that works best with ggplot
set.seed(13013)
testdf <- data.frame(x <- rnorm(100, 1),y <- 1:100)

1 つのオプションはタイトルです。

ggplot(testdf , aes(x = x, y = y)) + geom_point()+
   stat_smooth(method="loess")+
   xlab("buckshot hole distance(from sign edge)")+
   ylab("speed of car (mph)")+
   ggtitle("Individual Points fit with LOESS (± 1 SD)")

タイトル付きサンプルggplot

別のオプションは注釈レイヤーです。size=3ここでは、平均関数と最大関数を使用してテキストの適切な位置を推測しましたが、実際のデータを使用してより適切に処理し、テキスト サイズを小さくするなどの引数を使用することもできます。

ggplot(testdf , aes(x = x, y = y)) + geom_point()+
   stat_smooth(method="loess")+
   xlab("buckshot hole distance (from sign edge)")+
   ylab("speed of car (mph)")+
   annotate("text", x = max(testdf$x)-1, y = mean(testdf$y), 
   label = "LOESS fit with 68% CI region", colour="blue")

注釈付きのサンプルggplot

于 2012-12-03T18:55:31.607 に答える
1

ggplot プロットに注釈を付ける簡単な方法は、 geom_text を使用することです

x <- rnorm(100, 1)
y = 1:100
library(ggplot2)
dat <- data.frame(x=x,y=y)
bp <-  ggplot(data =dat,aes(x = x, y = y))+
       geom_point()+ geom_smooth(group=1)


bp  <- bp +geom_text(x = -1, y = 3, label = "*   points  ", parse=F)
bp  <- bp +geom_text(x = -1, y = -1, label = "--- smoothed   ", parse=F,color='blue')
bp

ここに画像の説明を入力

于 2012-12-03T21:56:47.227 に答える