如何在r中重新排列箱线图

如何在r中重新排列箱线图,r,visualization,boxplot,R,Visualization,Boxplot,我的数据是这样的。我使用了melt函数来像这样排列数据 Legend variable value 1 Grassland NDVI 0.139 2 Grassland NDVI 0.285 3 Grassland NDVI 0.134 4 Grassland NDVI 0.24

我的数据是这样的。我使用了melt函数来像这样排列数据

                Legend     variable   value
1             Grassland         NDVI   0.139
2             Grassland         NDVI   0.285
3             Grassland         NDVI   0.134
4             Grassland         NDVI   0.243
5             Grassland         NDVI   0.113
6             Grassland         NDVI   0.144
7             Grassland         NDVI   0.212
8             Grassland         NDVI   0.249
9             Grassland         NDVI   0.231
10            Grassland         NDVI   0.192
11            Grassland         NDVI   0.159
12            Grassland         NDVI   0.146
13            Grassland         NDVI   0.177
14            Grassland         NDVI   0.287
15            Grassland         NDVI   0.240
16            Grassland         NDVI   0.285
有四个图例*(草地、灌木斑块、非植被区和森林区),每个图例中有五个变量,即类别*。我得到的ggplot为


我不喜欢图例在每个变量中排序的方式。我如何更改顺序?我希望首先是非植被区域,然后是草地、灌木林,最后是森林区域。

您可以使用
因子
,显式设置
级别
参数的顺序

作为基线:

library(ggplot2)
ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot()


df您需要对组进行重新排序,顺序与toL data$names=factor(data$names,Level=Level(data$names)[c(1,4,3,2)]相似@Beesow,这对您有帮助吗?
df <- iris
levels(df$Species)
# [1] "setosa"     "versicolor" "virginica" 
df$Species <- factor(df$Species, levels = levels(df$Species)[c(3,1,2)])
ggplot(df, aes(Species, Sepal.Length)) + geom_boxplot()