R语言 在ggplot2中,如何在不同的位置制作不同的图例

txu3uszq  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(119)

爆破图有两个图例sizecolor,目前位置在右边。如何在左边标注马克尺寸图例,同时在上面标注颜色图例?谢谢!

library(tidyverse)
diamonds %>% head(30) %>% ggplot(aes(x=clarity ,y=price,
                        size=color,
                        color=x))+
  geom_point()

字符串

ep6jt1vc

ep6jt1vc1#

没有默认选项可以将图例放置在不同的位置。但是使用cowplotpatchwork可以实现您想要的结果,如下所示:

library(tidyverse)
library(cowplot)
library(patchwork)

p <- diamonds |> 
  head(30) |> 
  ggplot(aes(
    x = clarity, y = price,
    size = color,
    color = x
  )) +
  geom_point()

legend_size <- get_legend(
  p + guides(color = "none") + theme(legend.position = "left")
)

p <- p + 
  theme(legend.position = "top") +
  guides(size = "none")

wrap_elements(legend_size) + p +
  plot_layout(widths = c(1, 9))

字符串


的数据

c9qzyr3d

c9qzyr3d2#

除非你是用阿拉伯语或希伯来语创建一个图表,否则我觉得把图例放在左边是非常奇怪的,因为它看起来和Y轴本身沿着。话虽如此,你可以很容易地使用legend.position()调整位置,并将其放置在任何你想要的地方:

library(tidyverse)
diamonds %>% head(30) %>% ggplot(aes(x=clarity ,y=price,
                                     size=color,
                                     color=x))+
  theme(legend.position = "left") +
  geom_point()

字符串

相关问题