2017-09-30 5 views
1

棒グラフと線を使ってプロットを作成します。デモコードは次のとおりです。凡例を手動の形と色で作成する

timestamp <- seq(as.Date('2010-01-01'),as.Date('2011-12-01'),by="1 mon") 
data1 <- rnorm(length(timestamp), 3000, 30) 
data2 <- rnorm(length(timestamp), 30, 3) 
df <- data.frame(timestamp, data1, data2) 

p <- ggplot() 
p <- p + geom_histogram(data=df,aes(timestamp,data1),colour="black",stat="Identity",bindwidth=10) 
p <- p + geom_line(data=df,aes(timestamp,y=data2*150),colour="red") 
p <- p + scale_y_continuous(sec.axis = sec_axis(~./150, name = "data2")) 
p <- p + scale_colour_manual(name="Parameter", labels=c("data1", "data2"), values = c('black', 'red')) 
p <- p+ scale_shape_manual(name="Parameter", labels=c("data1", "data2"), values = c(15,95)) 
p 

これは、このようなプロットで結果:

enter image description here

この図は、伝説を持っていません。私はthisの答えに従ってカスタマイズされた凡例を作成しましたが、私の場合はうまくいきません。私はバーとラインに対応する私の伝説の正方形と線の形が欲しいです。どうすれば入手できますか?

私は下の画像のように伝説たい:geom_bargeom_histogramその後、より良いフィット感で、表示したいデータの種類について enter image description here

答えて

2

を。凡例の操作を操作するときは、colour = ...の部分をaesの内側に配置する必要があります。必要な結果を得るには、線と棒に異なるタイプの凡例を使用するのが最善の方法です。そのようにすれば、guide_legendoverride.aesで伝説の外観をよりよく変えることができます。

問題の提案:

ggplot(data = df) + 
    geom_bar(aes(x = timestamp, y = data1, colour = "black"), 
      stat = "Identity", fill = NA) + 
    geom_line(aes(x = timestamp, y = data2*150, linetype = "red"), colour = "red", size = 1) + 
    scale_y_continuous(sec.axis = sec_axis(~./150, name = "data2")) + 
    scale_linetype_manual(labels = "data2", values = "solid") + 
    scale_colour_manual(name = "Parameter\n", labels = "data1", values = "black") + 
    guides(colour = guide_legend(override.aes = list(colour = "black", size = 1), 
           order = 1), 
     linetype = guide_legend(title = NULL, 
           override.aes = list(linetype = "solid", 
                colour = "red", 
                size = 1), 
           order = 2)) + 
    theme_minimal() + 
    theme(legend.key = element_rect(fill = "white", colour = NA), 
     legend.spacing = unit(0, "lines")) 

います:

enter image description here

+0

私はまだ伝説に形状を変更することはできませんよ。私は私の質問に意図されたプロットを追加しました。 –

+0

@HaroonRashid更新プログラムを参照してください、HTH – Jaap

関連する問題