6
下面,我有繪製分組條形圖的R代碼。ggplot在x軸上顯示錶達式
group_name = c('A_1x', 'A_1x', 'A_2x', 'A_2x', 'A_3x', 'A_3x', 'A_4x', 'A_4x')
mydata2 <- data.frame(mygroup = group_name,
mysubgroup = factor(c("Yes", "No"),
levels = c("Yes", "No")),
value = c(60,40,90,10,55,45,88,12))
ggplot(mydata2, aes(mygroup, value, fill = mysubgroup)) +
geom_bar(position = "dodge", width = 0.5, stat = "identity")+
coord_flip()
目前,情節如下圖所示。但是,我想要在x軸上顯示錶達式,如下圖所示。
我已經試過這樣:
group_name = c(expression(A[1*x]),expression(A[1*x]),
expression(A[2*x]),expression(A[2*x]),
expression(A[3*x]),expression(A[3*x]),
expression(A[4*x]),expression(A[4*x]))
但它提供了以下錯誤:
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class ""expression"" to a data.frame
如何解決呢?
這在我看來,一個人應該能夠創造表達的載體,而不是鍵入每一個明確的聲明out。這是我可以用的最好的,但也許有一個更優雅的方法:'scale_x_discrete(labels = sapply(paste0(「A [」,1:4,「* x]」),function(i)parse(text = i))的)' – eipi10