私はこのようにggplot2でラインをプロットしています:
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + theme_bw()
。
伝説のマークは小さいと思うので、もっと大きくしてほしい。サイズを変更すると、プロットの線も変更されます。
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line(size=4) + theme_bw()
。
ただし、凡例には太い線だけを表示し、プロット上の線は細くしたいだけです。 legend.key.size
を使用しようとしましたが、線の幅ではなくマークの正方形が変更されます。
library(grid) # for unit
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw() + theme(legend.key.size=unit(1,"cm"))
また、ポイントを使用しようとしました:
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + geom_point(size=4) + theme_bw()
しかし、もちろんそれはプロットと凡例の両方に影響します:
プロットに線を、凡例に点/点を使用したかった。
だから私は2つのことについて尋ねています:
凡例の行幅のみを変更するには、関数guides()
を使用してから、colour=
にguide_legend()
をoverride.aes=
とともに使用し、size=
を設定する必要があります。これは、プロットで使用されるサイズをオーバーライドし、凡例だけに新しいサイズ値を使用します。
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
guides(colour = guide_legend(override.aes = list(size=3)))
凡例のポイントとプロットの回避策でラインを取得するには、geom_point(size=0)
を追加してポイントを非表示にし、guides()
でlinetype=0
を設定してラインを削除し、size=3
を追加して大きなポイントを取得します。
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
geom_point(size=0)+
guides(colour = guide_legend(override.aes = list(size=3,linetype=0)))