我正在尝试在R闪亮中使用ggplot。
这是我试图绘制的数据,而Variables
在x轴上,r_sqrd
在y轴上,而colour
用于定义条形的颜色。
> head(table)
Variables r_sqrd colour
1 ifelse.glm(5.863 + -0.1 * NAME1 + -0.041 * NAME1 + -1.042 * NAME1) 0.4643450 Pos
2 ifelse.glm(7.472 + -0.041 * Name2 + -1.128 * Name2 + -0.075 * Name2) 0.4573173 Pos
3 ifelse.glm(5.504 + 0.031 * Name3 + -0.035 * Name3 + -0.012 * Name3) 0.4363604 Pos
4 num.of.lettersName4) 0.1888032 Neg
5 ifelse.glm(4.474 + -0.028 * Name5 + -0.371 * Name5 + -0.147 * Name5) 0.1472681 Neg
6 Name6 0.1460835 Neg
这就是我正在使用的代码:
p <- ggplot(table, aes(x=as.factor(Variables), y=r_sqrd, fill=colour)) +
labs(x="Variables",y="Importance (R square)") + geom_bar(stat="identity") + coord_flip() +
scale_x_discrete(limits = table$Variables[order(table$r_sqrd)]) +
scale_fill_manual(values=c("Pos"="darkgreen", "Neg"="darkred")) + theme(legend.position="none")
print(p)
所以我使用了str_wrap
函数:
p <- ggplot(table, aes(x=as.factor(Variables), y=r_sqrd, fill=colour)) +
labs(x="Variables",y="Importance (R square)") + geom_bar(stat="identity") + coord_flip() +
scale_x_discrete(labels = function(x) str_wrap(x, width = 25),limits = table$Variables[order(table$r_sqrd)]) +
scale_fill_manual(values=c("Pos"="darkgreen", "Neg"="darkred")) + theme(legend.position="none")
print(p)
但我得到的结果是: