R 相同图形的几何线、颜色和形状

问题描述 投票:0回答:1

我使用“scale_shape_manual”和“scale_color_manual”对5个不同的变量进行颜色和形状处理,它们不在同一列上。我希望图例只是一个合并,而不是分离,就像图像一样。

我希望图例是由分配的颜色着色的形状。知道如何做到这一点吗?

我正在使用管道。这是代码:

underlag3 %>% 
  mutate_at(c('fjarrvarme', 'oljeeldning','ovrigt','fjarrvarme_komb',
              'gas','elvarme','bergvarme','bio'), as.numeric) %>% 
  ggplot(aes(x=ar)) +
  geom_line(aes(y=fjarrvarme), color="#000080") +
  geom_point(aes(y=fjarrvarme, shape="Fjarrvarme",color="Fjarrvarme")) +
  geom_line(aes(y=fjarrvarme_komb), color="#363636") +
  geom_point(aes(y=fjarrvarme_komb, shape="FjarrVarme Komb", color="FjarrVarme Komb")) +
  geom_line(aes(y=elvarme), color="#544C4A") +
  geom_point(aes(y=elvarme, shape="elvarme", color="elvarme")) +
  geom_line(aes(y=bio), color="black") +
  geom_point(aes(y=bio, shape="bio", color="bio")) +
  geom_line(aes(y=bergvarme), color="#5097A4") +
  geom_point(aes(y=bergvarme, shape="bergvarme", shape="color")) +
  geom_line(aes(y=oljeeldning), color="#787276") +
  geom_point(aes(y=oljeeldning, shape="oljeeldning", color="oljeeldning")) +
  geom_line(aes(y=gas), color="#4682b4") +
  geom_point(aes(y=gas, shape="gas", color="gas")) +
  geom_line(aes(y=ovrigt), color="#222021") +
  geom_point(aes(y=ovrigt, shape="ovrigt", color="ovrigt")) +
  scale_x_continuous(n.breaks = 41) +
  scale_shape_manual(values = c('Fjarrvarme' = 17, 'FjarrVarme Komb' = 18,
                                'elvarme' = 4, 'bio' = 16,
                                'bergvarme' = 16, 'oljeeldning' = 15,
                                'gas' = 16, 'ovrigt' = 16)) +
  scale_color_manual(values = c('Fjarrvarme' = "#000080", 'FjarrVarme Komb' = "#363636",
                                'elvarme' = "#544C4A", 'bio' = "black",
                                'bergvarme' = "#5097A4", 'oljeeldning' = "#787276",
                                'gas' = "#4682b4", 'ovrigt' = "#222021"))

r ggplot2 shapes scale-color-manual
1个回答
0
投票
library(tidyverse)
mtcars |>
  pivot_longer(disp:qsec) |>
  ggplot(aes(mpg, value, color = name, shape = name)) +
  geom_line() +
  geom_point() +
  scale_shape_manual(values = c('disp' = 0, 'drat' = 1, 'hp' = 2,
                                'qsec' = 3, 'wt' = 4),
                     name = "my legend") +
  scale_color_manual(values = c('disp' = "blue", 'drat' = "red", 'hp' = "green",
                                'qsec' = "gray20", 'wt' = "gray80"),
                     name = "my legend")

© www.soinside.com 2019 - 2024. All rights reserved.