在 multi-panel 图中将顶部刻度添加到 y-axis (facet_wrap/ggplot2)
Adding top tick to y-axis in multi-panel plots (facet_wrap/ggplot2)
我有一个使用 facet_wrap
函数创建的 multi-panel 图,我想为每个 y-axis 添加一个顶部勾号(以便每个 y-axis 以数字结尾)。
当我使用 scale_y_continuous
一次创建一个图时,我可以手动执行此操作(根据最大值设置限制),但我不确定如何使用 facet_wrap
.使用 max()
设置限制似乎不起作用。
只是为了让您了解我在说什么,下面是使用 ggplot2 创建单图的代码,并使 y-axis 上的顶部刻度出现。
plot <- ggplot(diamonds, aes(clarity)) +
geom_bar() +
scale_y_continuous(expand = c(0, 0),limits=c(0,15000)) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.line = element_line(),
axis.title = element_text(size=15,face="bold")) +
xlab("x_1") +
ylab("y_1") +
theme(panel.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_blank()) +
labs(title = "xy", size = 20)
plot
这就是情节。
提前致谢!
编辑:我编辑了代码以显示情节。再次感谢!
您可以定义自己的休息功能。一个简单的解决方案是
break_fct <- function(x){
round(seq(min(x), max(x), length = 5))
}
当然,您可以使用 pretty
和最大值的某种组合来改进这一点。您应该找到适合您的数据的解决方案。
plot <- ggplot(diamonds, aes(clarity)) +
geom_bar() +
scale_y_continuous(expand = c(0, 0), breaks = break_fct) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.line = element_line(),
axis.title = element_text(size=15, face="bold")) +
xlab("x_1") +
ylab("y_1") +
theme(panel.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_blank()) +
labs(title = "xy", size = 20) +
facet_grid(cut~., scales = "free_y")
plot
我有一个使用 facet_wrap
函数创建的 multi-panel 图,我想为每个 y-axis 添加一个顶部勾号(以便每个 y-axis 以数字结尾)。
当我使用 scale_y_continuous
一次创建一个图时,我可以手动执行此操作(根据最大值设置限制),但我不确定如何使用 facet_wrap
.使用 max()
设置限制似乎不起作用。
只是为了让您了解我在说什么,下面是使用 ggplot2 创建单图的代码,并使 y-axis 上的顶部刻度出现。
plot <- ggplot(diamonds, aes(clarity)) +
geom_bar() +
scale_y_continuous(expand = c(0, 0),limits=c(0,15000)) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.line = element_line(),
axis.title = element_text(size=15,face="bold")) +
xlab("x_1") +
ylab("y_1") +
theme(panel.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_blank()) +
labs(title = "xy", size = 20)
plot
这就是情节。
提前致谢! 编辑:我编辑了代码以显示情节。再次感谢!
您可以定义自己的休息功能。一个简单的解决方案是
break_fct <- function(x){
round(seq(min(x), max(x), length = 5))
}
当然,您可以使用 pretty
和最大值的某种组合来改进这一点。您应该找到适合您的数据的解决方案。
plot <- ggplot(diamonds, aes(clarity)) +
geom_bar() +
scale_y_continuous(expand = c(0, 0), breaks = break_fct) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5),
axis.line = element_line(),
axis.title = element_text(size=15, face="bold")) +
xlab("x_1") +
ylab("y_1") +
theme(panel.background = element_blank()
,panel.grid.major = element_blank()
,panel.grid.minor = element_blank()
,panel.border = element_blank()) +
labs(title = "xy", size = 20) +
facet_grid(cut~., scales = "free_y")
plot