2

我经常根据数字变量进行刻面,但我希望刻面标签比简单的数字更具解释性。我通常会创建一个新的标签变量,将数值粘贴到解释性文本中。但是,当值在小数点前有多个位置时,第一个数字用于对因子进行排序。有什么建议可以避免这种情况吗?

iris[,1:4]<-iris[,1:4]*10

当鸢尾花在小数点前不超过一个值时,这对鸢尾花来说效果很好。

iris$Petal.Width.label<-paste("Petal.Width=", iris$Petal.Width)



iris$Petal.Width.label<-paste("Petal.Width=", iris$Petal.Width)


qplot(data=iris,
      x=Sepal.Length,
      y=Sepal.Width,
      colour=Species)+facet_wrap(~Petal.Width.label)

带有未排序刻面的图

相关:
ggplot:如何更改构面标签?
如何更改 ggplot 中分面标签的顺序(自定义分面包装标签)

4

1 回答 1

5

只需重新编码标签的级别:

data(iris)
iris[ , 1:4] <- iris[ , 1:4] * 10
iris$Petal.Width.label <- paste("Petal.Width=", iris$Petal.Width)
# reoder levels by Petal.Width
iris$Petal.Width.label2 <- factor(iris$Petal.Width.label, 
                                  levels = unique(iris$Petal.Width.label[order(iris$Petal.Width)]))
qplot(data = iris,
      x = Sepal.Length,
      y = Sepal.Width,
      colour = Species)+
        facet_wrap( ~Petal.Width.label2)

在此处输入图像描述

于 2012-07-01T14:33:20.100 回答