1. 改变坐标轴位置

R 语言 ggplot2 可以通过设置 theme 函数的参数 axis.text.x = element_text(hjust=1) 来改变坐标轴位置,hjust 的值越大坐标轴越靠右,可以设置为 1 来放到右边。下面以一个简单的图表为例,展示如何改变坐标轴位置:

library('ggplot2')
# 生成数据
x <- c(1,2,3,4,5)
y <- c(3,4,2,6,7)
data <- data.frame(x,y)
# 绘图
ggplot(data, aes(x, y)) +
geom_point()
R

默认情况下,坐标轴位置是在左边:

改变坐标轴位置:

ggplot(data, aes(x, y)) +
geom_point() +
theme(axis.text.x = element_text(hjust=1))
R

坐标轴位置放到右边:

2. 更改绘图边界

R 语言 ggplot2 可以通过设置 theme 函数的参数 plot.margin 来更改绘图边界,plot.margin 是一个长度为 4 的向量,分别表示四个边界的距离,顺序分别为:下、左、上、右。下面以一个简单的图表为例,展示如何更改绘图边界:

library('ggplot2')
# 生成数据
x <- c(1,2,3,4,5)
y <- c(3,4,2,6,7)
data <- data.frame(x,y)
# 绘图
ggplot(data, aes(x, y)) +
geom_point()
R

默认情况下,绘图边界如下:

更改绘图边界:

ggplot(data, aes(x, y)) +
geom_point() +
theme(plot.margin = unit(c(1,1,1,1), "cm"))
R

绘图边界更改为 1cm:

3. 数据分组排序

R 语言 ggplot2 可以通过设置参数 reorder 函数来改变数据分组的顺序,reorder 函数的参数主要有两个:x 和 group,x 表示需要排序的变量,group 表示分组变量。下面以一个简单的图表为例,展示如何改变数据分组的顺序:

library('ggplot2')
# 生成数据
x <- c(1,2,3,4,5)
y <- c(3,4,2,6,7)
group <- c("A","B","A","B","A")
data <- data.frame(x,y,group)
# 绘图
ggplot(data, aes(x, y, group=group)) +
geom_point()
R

默认情况下,数据分组的顺序如下:

改变数据分组的顺序:

ggplot(data, aes(x, y, group=group)) +
geom_point() +
scale_x_discrete(limits = c("A","B"))
R

数据分组的顺序改变为 A、B: