我正在尝试更改此框图中的x轴顺序。
[现在订单是放大镜,显微镜和视频,我想把它改成显微镜,放大镜然后视频]
数据框示例如下
Label Mental Physical Temporal Performance Effort Frustration sum
Microscope 10 10 10 10 10 10 60
Microscope 10 10 10 10 10 10 60
Loupe 20 20 20 20 20 20 120
Loupe 20 20 20 20 20 20 120
Video 15 15 15 20 20 20 105
Video 15 15 15 20 20 20 105
这是我现在拥有的boxplot boxplot1
这是我的ggplot代码
mydata <- read.csv("boxplotyiyu2.csv",header=TRUE)
dfm <- melt(mydata, id.var = "Label")
ggplot(data = dfm, aes(x=variable, y=value)) + geom_boxplot(aes(fill=Label),width=0.5)+ xlab("Demand") + ylab("NASA-TLX Scores")
我试过这个,但结果不正确。
dfm$variable <- factor(dfm$variable,levels = c("Microscope","Loupe","Video"))
另一个问题是如何修改多个箱图的y轴。 我有七个箱图,但我想改变每个小块的y轴。 boxplot2
(数据框与上面的类似,只需用mental数据替换mental,physical ...)
我的代码是
df.m <- melt(mydata, id.var = "Label")
p <- ggplot(data = df.m, aes(x=variable, y=value))
p <- p + geom_boxplot(aes(fill=Label))
p <- p + facet_wrap( ~ variable, scales="free")
p <- p + xlab("Angle") + ylab("Degree")
请帮我个忙!真的很感激!
答案 0 :(得分:1)
您需要使用factor
函数重新定义因子的顺序。
#Sample data
Label<-c("Microscope", "Microscope", "Loupe", "Loupe", "Video", "Video")
mydata<-data.frame(Label)
#print out
levels(mydata$Label)
mydata$Label<-factor(mydata$Label, levels=c("Microscope", "Loupe", "Video"))
#print out
levels(mydata$Label)
有关更多信息,请参阅cookbook-r.com: http://www.cookbook-r.com/Manipulating_data/Changing_the_order_of_levels_of_a_factor/