如何在ggplot2中移动或定位图例?
在本文中,我们将讨论如何使用 R 编程语言在 ggplot 中控制图例位置。要在 ggplot 中绘制图例,使用参数 col,它基本上为绘图添加颜色,这些颜色用于区分不同的绘图。描述每种颜色代表什么的图例是由 ggplot 生成的。 col 属性可以在 2 个地方指定。
简单地指定根据哪些属性颜色应该与 ggplot() 中的 col 属性区分开来就可以完成工作。
Syntax: ggplot(df, aes(x, y, col=”name of the column to differentiate on the basis of”))
代码:
R
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
Python3
# Bottom -> legend around the plot
plot + theme(legend.position = "bottom")
Python3
# top -> legend around the plot
plot + theme(legend.position = "top")
Python3
# Right -> legend around the plot
plot + theme(legend.position = "right")
Python3
# Left -> legend around the plot
plot + theme(legend.position = "left")
Python3
# legend around the plot
plot + theme(legend.position = c(1, 0.2))
输出:
现在,我们将看到如何移动或更改 ggplot2 Legend 的位置,如顶部、底部和左侧。为了在绘图的任何一侧移动 ggplot2 图例的位置,我们只需将 theme()函数添加到 geom_point()函数。
Syntax : theme(legend.position)
Parameter : In General, theme() function has many parameters to specify the theme of the plot but here we use only legend.position parameter which specify the position of Legend.
Return : Theme of the plot.
我们可以将legend.position参数的值指定为left 、 right 、 top和bottom ,分别在图的左侧、右侧、顶部和底部绘制图例。
底部位置:
在这里,我们将更改图底部图例的位置。
Syntax: theme(legend.position = “bottom”)
代码:
蟒蛇3
# Bottom -> legend around the plot
plot + theme(legend.position = "bottom")
输出:
最高位置:
在这里,我们将更改图例顶部图例的位置。
Syntax: theme(legend.position = “top”)
代码:
蟒蛇3
# top -> legend around the plot
plot + theme(legend.position = "top")
输出:
正确位置:
在这里,我们将图例的位置更改为绘图图的右侧。
Syntax: theme(legend.position = “right”)
代码:
蟒蛇3
# Right -> legend around the plot
plot + theme(legend.position = "right")
输出:
左侧位置:
在这里,我们将图例的位置更改为绘图图的左侧。
Syntax: theme(legend.position = “left”)
代码:
蟒蛇3
# Left -> legend around the plot
plot + theme(legend.position = "left")
输出:
X 和 Y 坐标处的位置:
在这里,我们可以使用数字向量来绘制图例。它基本上适用于 X、Y 坐标,值应为 0 到 1。
Syntax: theme(legend.position = c(x, y))
代码:
蟒蛇3
# legend around the plot
plot + theme(legend.position = c(1, 0.2))
输出