我知道还有其他类似的问题。然而,这是一个有点两折的项目。
因此,我使用以下代码按年差异降序排列我的水平条形图,A。首先是样本数据,然后是制作数据框。
A<- c(150,125,0,-300,-350,-370)
Series<- c("Construction","Manufacturing","Information","Health_Care","Education","Government")
testdf <- data.frame(A,Series)
jobgrowth<-ggplot(data=testdf,mapping=aes(x=A,y=Series))+
geom_col(color="blue")+aes(x = reorder(Series,A),A)+ coord_flip()
问题是我的 y 轴标签显示为“重新排序(系列,A)”。我添加了第二个 aes 段是为了让它们按降序排列(最大的数字在顶部)。在此之前,它以随机(据我所知)的顺序排列它们。如何让 y 轴标签不显示任何内容?第二,如果我想让标题直接在图表上方,那有什么方法?
答案 0 :(得分:4)
无需两次调用aes
,您可以在调用reorder
时ggplot
。从那里您可以使用 labs
和 x = NULL
去除 x 轴标签,并使用 ggtitle
添加标题。您可以调用 theme
将标题移动到准确的中心。如果您希望它位于绘图区域的中心,请删除 plot.title.position
线。
ggplot(data=testdf, aes(y=A, x = reorder(Series,A))) +
geom_col(color="blue") + coord_flip() +
labs(x = NULL) + ggtitle("Interesting Title") +
theme(plot.title.position = "plot",
plot.title = element_text(hjust = 0.5))