R 如何控制酒吧间的空间?
我正在使用以下代码绘制条形图:R 如何控制酒吧间的空间?,r,R,我正在使用以下代码绘制条形图: heights1=c(5,5,4.5,4) barplot(heights1, main="Language ", names.arg=c("Hindi R/W", "Speak" , "English R/W","Speak"), ylab=" level ", xlab="Language starting with mostly used", cex.names=0.8, col=c("darkblue","red")) 输出如下所示: 但我想要的
heights1=c(5,5,4.5,4)
barplot(heights1, main="Language ", names.arg=c("Hindi R/W", "Speak" , "English
R/W","Speak"), ylab=" level ", xlab="Language starting with mostly used",
cex.names=0.8, col=c("darkblue","red"))
输出如下所示:
但我想要的是“印地语R/w”和“Speak”应该结合起来,没有任何间隙,然后一个空格出现,然后“English R/w”和“Speak”应该结合起来。我该怎么做 您应该在
barplot()
函数中添加参数space=
,其中数字对应于每个条前的空格
heights1=c(5,5,4.5,4)
barplot(heights1, main="Language ", names.arg=c("Hindi R/W", "Speak" , "English
R/W","Speak"), ylab=" level ", xlab="Language starting with mostly used",
cex.names=0.8, col=c("darkblue","red"),space=c(0.2,0,0.2,0))
如果数据格式正确,您的生活会轻松得多。
条形图
函数接受向量
或矩阵
的输入。当输入为矩阵时
,R可以使用dimnames
为您自动添加标签
试试这个:
heights1 = c(5, 5, 4.5, 4)
barplot(t(matrix(heights1, ncol=2, byrow=TRUE,
dimnames=list(c("Hindi", "English"),
c("Read/Write", "Speak")))),
main="Language ", ylab="Level",
xlab="Language starting with mostly used",
col=c("darkblue", "red"),
beside=TRUE, ylim = c(0, 6),
legend.text = TRUE,
args.legend = list(x = "topright"))
如果两组之间的间隔太大,那么@Didzis的建议在这里也适用。将space=c(0.2)
添加到barplot
命令中,记住文档中的详细信息:
如果高度
是一个矩阵,而旁边的是真
,空格
可以由两个数字指定,其中第一个是同一组中条之间的空格,第二个是组之间的空格。如果未明确给出,则如果高度为矩阵且旁边为TRUE,则默认为c(0,1)
,否则默认为0.2
这回答了这个问题,但是(对我来说)没有解决OP中的数据目前对于barplot
函数不是非常有用的格式这一问题。