我在函数中传递了分类变量,我希望多行中的x-lables因此我使用了一个函数,我在互联网上得到了一个名为addline_format的scale_x_discrete参考下面的函数。问题出现时,我有空白值也作为一个类别,我知道我可以用NA或任何东西替换它,但我想表示为空白。 ggplot首先绘制空白值,此scale_x_discrete最后给出空白值。
我创建的功能。
plthiststr <- function(df,d,e,y,b='') {
#df is dataframe/datatable,
#d is the name of the coulmn for the labels in x-axis with '',
#d SHOULDN'T contain Blank i.e '' type values Values, if it does this plot will not be correct.
#b is the label of y-axis with '',
#e is the title of the plot and y is df$d where d is without ''
#y is df$d where d is without ''
addline_format <- function(x){
gsub('\\s','\n',x)
}
require(ggplot2)
library(ggplot2)
g <- ggplot(df,aes_string(d))
plt <- g+geom_bar()+ylab(b)+ggtitle(e)+xlab('')+scale_x_discrete(labels= addline_format(c(unique(y))))
plt+theme(axis.text.x = element_text(size=10,colour="Blue",hjust=0.5,vjust=1),axis.ticks.y=element_blank(),panel.background=element_rect(fill="White",colour="Black"),panel.grid=element_blank())
}
有没有办法可以让订单始终匹配。
当我有'date'类型变量时会发生什么。我相信addline_format只适用于chr类型变量。