R ggplot2:将颜色和形状的图例合并/合并为一个
我的代码很早就开始工作了,但是形状和颜色的图例现在已经分开了R ggplot2:将颜色和形状的图例合并/合并为一个,r,ggplot2,R,Ggplot2,我的代码很早就开始工作了,但是形状和颜色的图例现在已经分开了 ## loading packages library(tibble) library(ggplot) ## an example of data my_data <- tibble(x = seq(1:10), y = rnorm(10, mean = 0, sd = 1), z = rep(c("{ }^{2}*H", "{
## loading packages
library(tibble)
library(ggplot)
## an example of data
my_data <- tibble(x = seq(1:10),
y = rnorm(10, mean = 0, sd = 1),
z = rep(c("{ }^{2}*H", "{ }^{18}*O"), 5))
##加载包
图书馆(tibble)
图书馆(ggplot)
##数据示例
我的数据这是我的最新更新。您可以使用as.expression
和bquote
ggplot(data = my_data, mapping = aes(x = x, y = y, color = z, shape = z, group = z)) +
geom_point() +
geom_line() +
scale_color_discrete(name = "", labels = c(as.expression(bquote({ }^{2}*"H")), as.expression(bquote({ }^{18}*"O"))))+
scale_shape_discrete(name = "", labels = c(as.expression(bquote({ }^{2}*"H")), as.expression(bquote({ }^{18}*"O"))))
如果名称和标签相同,则只应绘制一个图例。这种情况不会发生,所以我认为最近添加了一个bug,它可能与在scale\u*\ u manual()
语句中使用parse\u format()
或label\u parse()
有关,因为它在我之前对我有效。当我使用类似于您的代码时,如下所示:ggplot(data=my_data,mapping=aes(x=x,y=y,color=z,shape=z))+geom_point()+geom_line()+scale_color_discrete(name=”“,labels=c(expression({}^{2}*“H”)、expression({}^{18}*“O”))+scale_shape_discrete(name=“、labels=c(expression({}^^{2}*“H”),表达式({}^{18}*“O”))
它仍然不起作用。我想它可能与表达式有关。
my_colors <- c("#00BFC4", "#F8766D")
ggplot(data = my_data,
mapping = aes(x = x, y = y, color = z, shape = z)) +
geom_point() +
geom_line() +
scale_color_manual(name = "",
labels = parse_format(),
values = my_colors) +
scale_shape_manual(name = "",
labels = parse_format(),
values = c(16:17))
ggplot(data = my_data, mapping = aes(x = x, y = y, color = z, shape = z, group = z)) +
geom_point() +
geom_line() +
scale_color_discrete(name = "", labels = c(as.expression(bquote({ }^{2}*"H")), as.expression(bquote({ }^{18}*"O"))))+
scale_shape_discrete(name = "", labels = c(as.expression(bquote({ }^{2}*"H")), as.expression(bquote({ }^{18}*"O"))))