2017-09-08 205 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