簡體   English   中英

如何在R中的多個箱圖中更改x軸的順序

[英]How to change the order of x-axis in multiple boxplots in R

我正在嘗試更改此箱圖中的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

(數據框與上面的數據框相似,只是將角度,物理...替換為角度數據)

我的代碼是

  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")

請幫我一個忙! 真的很感激!

您將需要使用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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM