我试图使用
基本上,我想在每个X轴上绘制前5个国家(手动定义),我可以使用
我可以找到一些按因子级别排序小部件的答案,并尝试使用order美学进行操作,但没有成功,所以我想知道是否有办法做到这一点,尽管我知道在ggplot中进行分面设计并不是为了修改坐标轴。我会感激任何关于此的建议。
以下是我想要的可重现示例(在X轴上手动定义顺序)。
这是一个示例图表:
关于IT技术的内容,需要更具体的指示。
facet_grid()
绘制多个图表,对于每个小部件,我希望在手动顺序下沿X轴绘制不同因子水平的子集。基本上,我想在每个X轴上绘制前5个国家(手动定义),我可以使用
grid.arrange()
的替代解决方案(请参见示例),但我希望使用facet_grid()
或facet_wrap()
来保持与我的其他图表相同的美学效果。我可以找到一些按因子级别排序小部件的答案,并尝试使用order美学进行操作,但没有成功,所以我想知道是否有办法做到这一点,尽管我知道在ggplot中进行分面设计并不是为了修改坐标轴。我会感激任何关于此的建议。
以下是我想要的可重现示例(在X轴上手动定义顺序)。
library(reshape)
library(ggplot2)
library(gridExtra)
# Load data
mtcars_melt <- melt(mtcars)
# Subset data
set1 <- subset(mtcars_melt, variable == "mpg" | variable == "wt" | variable == "qsec")
set2 <- subset(mtcars_melt, variable == "gear" | variable == "cyl" | variable == "mpg")
set3 <- subset(mtcars_melt, variable == "drat" | variable == "vs" | variable == "mpg")
# Order factors
set1$variable <- factor(set1$variable, levels = c("mpg", "wt", "qsec"))
set2$variable <- factor(set2$variable, levels = c("mpg", "gear", "cyl"))
set3$variable <- factor(set3$variable, levels = c("vs", "mpg", "drat"))
# Make plots
plot1 <- ggplot(set1, aes(x = variable, y = value)) + ylim(0, 35) + geom_boxplot()
plot2 <- ggplot(set2, aes(x = variable, y = value)) + ylim(0, 35) + geom_boxplot()
plot3 <- ggplot(set3, aes(x = variable, y = value)) + ylim(0, 35) + geom_boxplot()
grid.arrange(plot1, plot2, plot3, ncol = 3)
这是一个示例图表:
关于IT技术的内容,需要更具体的指示。