我的数据看起来像这样。我使用融合函数来安排这样的数据
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为
我不喜欢每个变量中的图例排序方式。如何更改订单?我想先有非植物区,然后是草原,灌木丛林,最后是森林区。
答案 0 :(得分:1)
您可以使用factor
,明确设置levels
参数的顺序。
作为基线:
library(ggplot2)
ggplot(iris, aes(Species, Sepal.Length)) + geom_boxplot()
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()