2016-11-24 6 views
0

は、次の例を見てみましょう: enter image description hereggplot2 - 制御線種際に複数行

OK:

library(ggplot2) 
dsamp <- diamonds[sample(nrow(diamonds), 1000), ] 

ggplot(dsamp, aes(x = x)) + 
    geom_line(aes(y = y, linetype = "Simple Model")) + 
    geom_line(aes(y = z, linetype = "Complex Model")) 

このグラフを生成します。私の問題は、線種を逆にしたいのです。私は単純なモデルに実線と複雑なモデルを破線で表示させたい。デフォルトでは、アルファベット順はここで線種を決定しているようです。私はscale_linetype_manualなどを使っていろいろなバリエーションを試しましたが、単純な線をソリッドにすることはできませんし、複合体を破線にすることもできません。同時に、単純な '&'の複雑なタイトルを凡例に入れてください。誰かがそれを示唆する前に、実際のデータがプロットなどに多く含まれているので、両方のy変数が1列になるようにこのデータを溶かしたり再形成することを避けようとしています。

編集:ありがとう、彼の返信のためにHaborymeに感謝します。私は私の混乱の原因を見つけました。

次のプロットください:私は3線種に変更した場合しかし、 enter image description here

:伝説の線種の両方として実線を表示するように見える

ggplot(dsamp, aes(x = x)) + 
    geom_line(aes(y = y, linetype = "Simple Model"), size = 1.5) + 
    geom_line(aes(y = z, linetype = "Complex Model"), size = 1.5) + 
    scale_linetype_manual(values=c(5, 1)) 

ggplot(dsamp, aes(x = x)) + 
    geom_line(aes(y = y, linetype = "Simple Model"), size = 1.5) + 
    geom_line(aes(y = z, linetype = "Complex Model"), size = 1.5) + 
    scale_linetype_manual(values = c(3, 1)) 

線種凡例が正しい: enter image description here

これは私の問題を解決すると思う - 私は単に線種3を使用する必要があります。サイズ1.5の線種5は伝説のスペースにうまく収まりません。

+1

私が所望の出力を得ます'+ scale_linetype_manual(values = c(2,1))' – Haboryme

+0

あなたは正しいです。私の実際のデータには変わったことがあります。だから私はあなたが2を使用した線種5を使用しています。私の実際のデータでは、線種5の凡例は破線ではなく実線として表示されます。線種2を使用すると、上記のように動作します。私が思ったテーマのオプションで行ったことから、それを振り返ってみてください。 – user2498193

+1

'+ガイドでlendype = guide_legend(override.aes = list(size = 0.5)))で凡例でのみ行サイズを変更できます)' – cuttlefish44

答えて

1
ggplot(dsamp, aes(x=x)) + 
    geom_line(aes(y=y, linetype="Simple Model"),size=1.5) + 
    geom_line(aes(y=z, linetype="Complex Model"),size=1.5)+ 
    scale_linetype_manual(values=c(5,1)) 

上記のコードは、両方の行が凡例で似ているプロットを提供します。
linetype=5は "longdash"(2は "破線")に相当するためです。ロングダッシュは長すぎて伝説に表示できません。

あなたはlongdashesでsize=1.5(またはそれ以上)を保持して例えばあなたも伝説の大きさを変更する必要があります適切な伝説を持つようにしたい場合:

+theme(legend.key.size=unit(2,"cm")) 
+0

ありがとう、ハボリメ – user2498193

関連する問題