R语言 如何在ggplot2中移动或定位一个图例
在这篇文章中,我们将讨论如何使用R编程语言控制ggplot中图例的位置。为了在ggplot中绘制图例,使用了参数col,它基本上是在图中添加颜色,这些颜色用于区分不同的图。为了描述每种颜色所代表的内容,ggplot制作了一个图例。col属性可以在两个地方指定。
只需在ggplot()中的col属性中指定应该区分哪些属性的颜色,就可以完成工作。
语法: ggplot(df, aes(x, y, col=”要区分的列的名称”)
代码
library("ggplot2")
function1 <- function(x){x**2}
function2 <- function(x){x**3}
function3 <- function(x){x/2}
function4 <- function(x){2*(x**3)+(x**2)-(x/2)}
df=data.frame(x = -2:2,
values=c(function1(-2 : 2),
function2(-2 : 2),
function3(-2 : 2),
function4(-2 : 2)),
fun=rep(c("function1", "function2",
"function3","function4"))
)
plot = ggplot(df,aes(x,values,col=fun))+geom_line()
plot
输出
现在,我们将看到如何移动或改变ggplot2图例的位置,比如在顶部、底部和左侧。为了移动ggplot2图例在绘图任何一侧的位置,我们只需在geom_point()函数中添加theme()函数。
语法: theme(legend.position)
参数: 一般来说,theme()函数有很多参数来指定绘图的主题,但这里我们只使用 legend.position 参数来指定图例的位置。
返回值: 绘图的主题。
我们可以指定 legend.position 参数的值为 左 、 右 、 顶和底 ,以分别在绘图的左、右、顶和底边绘制图例。
底部位置
这里我们将改变图例在绘图图底部的位置。
语法: theme(legend.position = “bottom”)
代码
# Bottom -> legend around the plot
plot + theme(legend.position = "bottom")
输出
顶部位置
这里我们将改变图例在绘图图顶部的位置。
语法: theme(legend.position = “top”)
代码
# top -> legend around the plot
plot + theme(legend.position = "top")
输出
右边的位置
在这里,我们将改变图例的位置,使其位于绘图图的右侧。
语法: theme(legend.position = “right”)
代码
# Right -> legend around the plot
plot + theme(legend.position = "right")
输出
左侧位置
在这里,我们将改变图例的位置,使其位于绘图图的左边。
语法: theme(legend.position = “left”)
代码
# Left -> legend around the plot
plot + theme(legend.position = "left")
输出
X和Y坐标的位置
这里我们可以用一个数字向量来绘制图例。它基本上对X、Y坐标起作用,其值应该是0到1。
语法: theme(legend.position = c(x, y))
代码
# legend around the plot
plot + theme(legend.position = c(1, 0.2))
输出