Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2:如何将数学符号指定给两种不同美学的图例标签?_R_Ggplot2_Legend_Symbols - Fatal编程技术网

R ggplot2:如何将数学符号指定给两种不同美学的图例标签?

R ggplot2:如何将数学符号指定给两种不同美学的图例标签?,r,ggplot2,legend,symbols,R,Ggplot2,Legend,Symbols,我正试图用数学符号创造一个传奇。我尝试了不同的选择,但都不管用。我没有找到将标签直接分配给guide_图例的方法,ggplot似乎不理解因子级别的表达式。此外,在任何情况下,给因子级别加上标签都是失败的,ggplot2文档称它适用于刻面条 在下面的示例中,我想将L1、L2和Linf分别更改为带有下标1、2和无穷符号的L a1 = exp(seq(1, 3)) a2 = exp(seq(1, 3) + 0.2) a3 = exp(seq(1, 3) + 0.4) df = data.frame(

我正试图用数学符号创造一个传奇。我尝试了不同的选择,但都不管用。我没有找到将标签直接分配给guide_图例的方法,ggplot似乎不理解因子级别的表达式。此外,在任何情况下,给因子级别加上标签都是失败的,ggplot2文档称它适用于刻面条

在下面的示例中,我想将L1、L2和Linf分别更改为带有下标1、2和无穷符号的L

a1 = exp(seq(1, 3))
a2 = exp(seq(1, 3) + 0.2)
a3 = exp(seq(1, 3) + 0.4)

df = data.frame(coefficients = c(a1, a2, a3), order = rep(1:3, 3),
                norm = factor(rep(1:3, each = 3), labels =  expression(L[1], L[2], L[inf])))

ggplot(df, aes(x = order, y = coefficients, colour = norm, shape = norm)) + 
geom_line() + geom_point() 
我忽略了一个问题,答案给出了正确的提示:通过天平分配标签,如下所示。请注意,必须定义两个比例,并且两个比例必须具有相同的名称和标签,以避免生成两个图例

a1 = exp(seq(1, 3))
a2 = exp(seq(1, 3) + 0.2)
a3 = exp(seq(1, 3) + 0.4)

df = data.frame(coefficients = c(a1, a2, a3), order = rep(1:3, 3),
                  norm = factor(rep(1:3, each = 3), labels = c("L1", "L2", "Linf")))

ggplot(df, aes(x = order, y = coefficients, colour = norm, shape = norm)) + 
  geom_line() + geom_point() + 
scale_colour_manual(name = "norm", values = c("blue", "red", "green"), 
                     labels = expression(L[1], L[2], L[infinity])) + 
scale_shape_discrete(name = "norm", 
                      labels = expression(L[1], L[2], L[infinity]))

我投票重开,因为这个传说是关于两种美学的,而另一个问题是关于一种美学的。。在这里,我们必须做一些事情,比如缩放颜色手动值=cred,蓝色,绿色,标签=标签+缩放形状手动值=c1,2,3,标签=标签带标签@Stéphanelant。看起来非常简单,也就是说,将链接帖子的解决方案调整到多个美学中很简单。我真的不明白这有什么不同。但我很高兴重新开放,如果有更多的支持重新开放的电话服务,这对我来说并不简单。我必须搜索一段时间才能找到这个解决方案,因为我也有一段时间没有使用ggplot。如果问题被重新打开,人们应该在标题中提到这一差异。正如斯特凡所指出的,这一差异在最初的问题作品中给出了答案,但我们需要明确地将标签分配给这两个量表。“如果我更改标题,你重新开始提问怎么办?”MarcoStamazza说