2017-09-08 206 views
0

我有一個問題,我的ggplot()的圖例沒有出現。這裏是我的代碼:ggplot2中的其他圖例

plot_bt <- ggplot(NULL, aes(x, v1)) + 
    geom_line(data = nig_bt_1, colour = "black") + 
    geom_line(data = nig_bt_2, colour = "blue") + 
    geom_line(data = nig_bt_3, colour = "red") + 
    labs(x = "X", y = "Probability") 

我試圖在這個圖中做一個圖例,但我做不到。它只是不顯示。我嘗試製作三種不同類型的NIG分佈圖。在nig_bt_1等我有我的價值觀。這三種密度出現,但傳說沒有。我嘗試了scale_color_manual函數也沒有成功。

非常感謝。

x <- seq(-7.5,7.5,0.001) 
nig_bt_1 <- data.frame(x ,v1 = dnig(x, param = pr_bt_1)) 
nig_bt_2 <- data.frame(x ,v1 = dnig(x, param = pr_bt_2)) 
nig_bt_3 <- data.frame(x ,v1 = dnig(x, param = pr_bt_3)) 
+1

通常情況下,將數據組合成單個對象並讓ggplot處理所有內容通常會更好 –

+0

我遇到了問題,因爲我無法以您編寫的方式創建多個繪圖。 – FNTE

+0

@FNTE請舉例說明'nig_bt_1','nig_bt_2','nig_bt_3'如何看起來像 – PoGibas

回答

1

只是這樣做:

plot_bt <- ggplot(NULL, aes(x, v1)) + 
    geom_line(data = nig_bt_1, aes(colour = "a")) + 
    geom_line(data = nig_bt_2, aes(colour = "b")) + 
    geom_line(data = nig_bt_3, aes(colour = "c")) + 
    labs(x = "X", y = "Probability") + 
    scales_color_manual(values= c("a" = "black", "b" = "blue", "c" = "red")) 

的指南只能描繪出你使用aes定義的映射。 ggplot2的方式當然是先組合數據並使用分組變量。

+0

非常感謝,現在我看到了我的錯誤。 – FNTE