A.B*_*son 4 plot axis r bar-chart axis-labels
我有一些数据用于各种实验性治疗,这些数据都是负值.我想将条形图绘制在条形图的顶部,并使标签的位置与条形图中心的传统条形图相同.
我已经检查了一遍,找不到任何能让我用文字命名轴标签,只设置刻度线和数字的东西.
这是数据: - "wp_means"
> 12 15 3 6 9 Control
-0.3000000 -0.2416667 -0.3416667 -0.3916667 -0.2750000 -0.2750000
DL
-0.2833333
Run Code Online (Sandbox Code Playgroud)
这是我绘制条形图的代码.我可以从它通常的位置省略x轴,但我似乎无法将它放在标签等的顶部,我希望它在哪里.
cols<-c("blue1", "cyan","chartreuse","mediumspringgreen","maroon1","orange","red")
wp<-data.frame(a=c(wp_means),b=c(12,15,3,6,9,"Control","DL"))
wp$c=factor(wp$b, levels = c("Control",15,"DL",12,9,6,3))
wp <- wp[order(wp$c), ]
barplot(height=wp$a,names.arg=wp$c,col=cols,main="Water Potential",las=1,xaxt="n",
ylab = "Water potential
(MPA)",pch=21,bg="black",cex=0.7,cex.lab=0.8,font.lab=2,
cex.axis=0.7,font.axis=2,cex.main=1,ylim=c(-0.5,0),xaxt="n")
Run Code Online (Sandbox Code Playgroud)
这是情节:我希望上面的x轴上的标签按照它们出现在"levels = c("Control"....)"上面的顺序.我也想设置一个标签标题,就像通常一样,xlab="some name"不会干扰我的图表标题.
谢谢

我认为适当的方法是pos=在添加?axis现有参数时使用参数barplot.但是,您需要首先保存酒吧中心的位置.喜欢bp <- barplot(...),所以:
wp_means <- c(-0.3, -0.2, -0.34, -0.39, -0.275, -0.275, -0.283)
cols<-c("blue1", "cyan","chartreuse","mediumspringgreen","maroon1","orange","red")
wp <-data.frame(a=c(wp_means),b=c(12,15,3,6,9,"Control","DL"))
wp$c=factor(wp$b, levels = c("Control",15,"DL",12,9,6,3))
wp <- wp[order(wp$c), ]
bp <- barplot(height=wp$a, names.arg=wp$c, col=cols, las=1, xaxt="n",
ylab = "Water potential (MPA)",
pch=21, bg="black", cex=0.7, cex.lab=0.8, font.lab=2,
cex.axis=0.7, font.axis=2, cex.main=1, ylim=c(-0.5,0), xaxt="n")
axis(side=3, pos=0, at=bp, labels=levels(wp$c))
title(main="Water Potential", line=3)
Run Code Online (Sandbox Code Playgroud)
请注意line=3添加时使用title()会将图表标题推离组标签.