1

これは、これらの質問へのフォローアップとして議論の余地があります。

ggplot2折れ線グラフに凡例を追加

既存のプロットにvlineを追加し、ggplot2の凡例に表示しますか?

独自の独立したデータ、スケール、凡例要素を持つプロットにジオメトリを追加したいと思います。

これはグラフィックスの原則の文法の一部に違反する可能性があることを認識していますが、凡例に表示される垂直線または水平線、単一の点、矢印などの要素が必要になることがよくあります。

スケールが他のgeomマッピングですでに使用されている場合は、さらに困難になるようです。

これは、アイリスを使用したあまりきれいな例ではありません。

p<-qplot(data=iris, x=Petal.Width,
         y=Sepal.Width,
         colour=Species,
         shape=as.factor(round(Petal.Length)),
         linetype=as.factor(round(Sepal.Length)),
         geom=c("line", "point"))

p<-p+geom_vline(xintercept=0.75, aes(linetype="Setosa vs Versicolor"))
p<-p+geom_vline(xintercept=1.75, aes(linetype="Versicolor vs Virginica"))

print(p) 

現在生成されている、vlineの線種と関連する凡例がありません。

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

4

1 に答える 1

1

通話に とのgeom_vline両方を含めるように通話をxintercept変更します。現在、は何の効果もありません (凡例に表示されないだけではありません)。linetypeaeslinetype

qplot(data=iris, x=Petal.Width,
      y=Sepal.Width,
      colour=Species,
      shape=as.factor(round(Petal.Length)),
      linetype=as.factor(round(Sepal.Length)),
      geom=c("line", "point")) +
geom_vline(aes(xintercept=0.75, linetype="Setosa vs Versicolor")) +
geom_vline(aes(xintercept=1.75, linetype="Versicolor vs Virginica"))

## Warning messages:
## 1: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 7. Consider
## specifying shapes manually. if you must have them. 
## 2: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 7. Consider
## specifying shapes manually. if you must have them. 
## 3: Removed 4 rows containing missing values (geom_point). 
## 4: The shape palette can deal with a maximum of 6 discrete values because
## more than 6 becomes difficult to discriminate; you have 7. Consider
## specifying shapes manually. if you must have them. 

ここに画像の説明を入力

于 2012-10-19T19:06:39.017 に答える