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", "{ }^{18}*O"), 5))

数据集的示例可以像这样:

my_data
# A tibble: 10 x 3
       x       y z         
   <int>   <dbl> <chr>     
 1     1  0.631  { }^{2}*H 
 2     2  1.43   { }^{18}*O
 3     3 -0.548  { }^{2}*H 
 4     4 -1.42   { }^{18}*O
 5     5  1.72   { }^{2}*H 
 6     6 -0.816  { }^{18}*O
 7     7  0.0297 { }^{2}*H 
 8     8 -0.471  { }^{18}*O
 9     9 -0.565  { }^{2}*H 
10    10  0.448  { }^{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)) 

图例是分开的,如下图所示: 在此处输入图片说明

但是它的工作更加顺利,如下图所示:

在此处输入图片说明

寿武

这是我的最新更新。您可以使用as.expressionbquote

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"))))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章