0

可能重复:
ggplot2条形图中的顺序条

我在 R 中有以下数据框 ( df),我希望为其创建一个箱线图:

    Entity  Mean    Min Q1      Med     Q3      Max
1   ABCD    88.65   0   75.0    100.0   100.0   100
2   BAAF    88.73   0   91.0    100.0   100.0   100
3   BCC4    70.26   0   20.0    100.0   100.0   100
4   C9FE    77.98   0   66.0    86.0    100.0   100
5   D3AA    71.97   0   51.0    82.0    100.0   100   

我使用的代码如下:

Lplot <- ggplot(df, aes(Entity, ymin=Min, lower=Q1, middle=Med, upper=Q3, ymax=Max,
         fill=Mean))
mth <- theme(axis.text.x = element_text(angle = 90, hjust = 1))
bplot <- geom_boxplot(stat="identity")
sfg <- scale_fill_gradient("Mean", low="green", high="red")

Lplot + mth + sfg + bplot

这在 x 轴上绘制了数据框,Entity在 y 轴上绘制了适当的分位数。但是,我想按Mean. 我可以通过替换来实现这种效果aes(Entity,...,但是当我仍然想要那里的名称aes(factor(Mean),...时,平均值会出现在 x 轴上。Entity

基本上我所追求的是一个按 排序Mean但由 标记的箱线图Entity。我怎样才能做到这一点?

4

1 回答 1

2

Entity需要是按正确顺序排序的级别的一个因素:

df$Entity <- factor(df$Entity, levels = df$Entity[rank(df$Mean)])
于 2013-01-30T01:01:41.933 回答