📜  如何在 R 中使用 ggplot2 更改图例形状?

📅  最后修改于: 2022-05-13 01:54:19.607000             🧑  作者: Mango

如何在 R 中使用 ggplot2 更改图例形状?

在本文中,我们将讨论如何在 R 编程语言中使用 ggplot2 仅更改图例形状。这里使用 ScatterPlot,同样可以应用于任何其他绘图。

让我们首先创建一个常规图,以便差异明显。



例子:

R
# Load Package
library("ggplot2")
  
# Create DataFrame for plotting
data<-data.frame(x = rnorm(20),
               y = rnorm(20),
               Users = sample(c("User 1", "User 2",
                                "User 3", "User 4", 
                                "User 5"),
                              20, replace=TRUE))
  
# Create ScatterPlot using ggplot2 
ggplot(data,aes(x, y, color = Users))+
  geom_point(size = 10)


R
# Load Package
library("ggplot2")
  
# Create DataFrame for plotting
data<-data.frame(x = rnorm(20),
               y = rnorm(20),
               Users = sample(c("User 1", "User 2", "User 3",
                                "User 4", "User 5"),
                              20, replace=TRUE))
  
# Create a ScatterPlot with changed 
# shape of Legend using guides() 
# function
ggplot(data,aes(x, y, color = Users))+
  geom_point(size = 10)+
  guides(color = guide_legend(
    override.aes=list(shape = 18)))


输出:

使用 ggplot2 的带有图例的散点图

现在,如果我们只想更改图例形状,那么我们必须向 geom_point() 函数添加 guides() 和 guide_legend()函数。在 guides()函数,我们采用名为 'color' 的参数,因为我们在 ggplot()函数使用了颜色参数作为图例。 'color' 调用 guide_legend() 引导函数作为值。在 guide_legend()函数,我们接受一个名为 override.aes 的参数,该参数将图例的美学参数列表作为值。

这里是形状参数的设定值。下面给出了可供选择的值:

具有范围的图例点的形状

具有范围的图例点的形状

例子:

电阻

# Load Package
library("ggplot2")
  
# Create DataFrame for plotting
data<-data.frame(x = rnorm(20),
               y = rnorm(20),
               Users = sample(c("User 1", "User 2", "User 3",
                                "User 4", "User 5"),
                              20, replace=TRUE))
  
# Create a ScatterPlot with changed 
# shape of Legend using guides() 
# function
ggplot(data,aes(x, y, color = Users))+
  geom_point(size = 10)+
  guides(color = guide_legend(
    override.aes=list(shape = 18)))

输出:

图例形状改变的散点图

图例形状改变的散点图