ggplotのggsurv関数にいくつか問題があります。ggsurvの伝説と線の太さ
凡例と線のスタイルで外観の順序を制御したいと思います。
私は他の人が同様の問題を抱えていることがわかりますが、私は私の問題は、私は伝説では標準値が置き換え期待しているでしょう。ここ
library(GGally)
library(survival)
data(lung)
surv1 <- survfit(Surv(time,status) ~ sex, data = lung)
p1 <- ggsurv(surv1, lty.est=c(1,2), surv.col=c("black", "red"))
p1 <- p1 + scale_colour_discrete(name = 'sex', breaks = c(1,2), labels=c('XX','XY'))
p1
ようである標準肺のデータを用いて溶液
を理解しませんXXとXYで。しかし、私は代わりに伝説の複製を得る。 1つは正しい行属性で、名前と色は間違っています。もう1つは、正しい名前と色で、間違った行属性です。
私は
p1 <- p1 + guides(colour = FALSE)
を挿入しようとしたが、それは伝説
私は何を理解していないの間違った部分を削除しますか?イカのコメントに
おかげで解決策は以下のとおりです。
library(GGally)
library(survival)
data(lung)
surv1 <- survfit(Surv(time,status) ~ sex, data = lung)
p1 <- ggsurv(surv1, lty.est=c(1,2), surv.col=c("black", "red"))
p1 <- p1 + scale_colour_discrete(name = 'sex', breaks = c(1,2), labels=c('XX','XY'))
p1 <- p1 + guides(linetype = F, colour = guide_legend(override.aes = list(linetype = c(2,1))))
p1
私はoverride.aesを手動で凡例で使用する線の種類を設定することを理解することができます。私は、線種= Fが実際に何をしているのかは十分には分かっていませんが、機能します!
2番目の質問です。手動で線の太さをどのように設定します(両方のグラフと凡例で)
p1 <- p1 + geom_line(size=2)
を追加すると、動作しません。それは、偽の黒い線を描画し、偽の黒い線は、偽の線と完全に整列していない。
これは私の最初の問題を解決しました。上記に追加しました。行の太さを変更する方法が新たな問題を引き起こす –
行は 'geom_line'ではなく' geom_step'を使って描画されます。ですから、 'geom_step(size = 2)'は色をコントロールできないかもしれないが、あなたが望むことをするでしょう。 [この回答](http://stackoverflow.com/questions/39907004/how-to-put-different-symbols-in-autoplot/39908638#39908638)は、このグラフを作成していた場合のggplot2コードの様子を示しています。モデル上で 'ggfortify :: fortify'を使用した後に手を差し伸べてください。 – aosmith
aosmith geom_stepが正しいです。今私は正しい行を持っています。しかし、それらは黒であり、黒と赤のsurv.colで指定されていません。私は前にそれに気付かなかったが、上記の解決策は実際には赤と緑で、赤と黒ではなかった。奇妙にも(少なくとも私のために)geom_step行を挿入すると、線は濃い黒 –