2017-10-08 72 views
0

本质上,我想确保x轴上的所有标签都不重叠,并且图形边距足够长以查看垂直标签。增加图形的边距以包含长标签

par(mar=c(180, 70, 2, 2.1)) 
oldfont <- par(font=3) 
table(new$Tag) 
barplot(table(new$Tag),x,las=2,cex.lab=100) 

请在这里找到条形图!

enter image description here

+0

请包括一个完整的例子,以帮助我们有一些工作。你可以嵌入图像,也使我们更容易。 – AkselA

+0

嗨AkselA - >感谢您的反馈。我包括了我的酒吧情节的照片。你无法查看吗?您可能需要点击链接,因为我没有足够的信誉将图片直接发布到文本字段。对于那个很抱歉。 – pushmandate

+0

我不知道你需要一定数量的代表来发布图片,但我现在可以看到它。 – AkselA

回答

1

你正在寻找的东西不仅仅是改变边距,文字大小等更多?
通过审查单个计数和截断名称可以提高可读性。

set.seed(1) 

words <- sapply(
    sample(3:25, 50, replace=TRUE), 
    function(x) { 
     paste(sample(c(letters), x, replace=TRUE), collapse="") 
     } 
) 

strtrunc <- function(x, l, r="…") { 
    trunc <- nchar(x) > l 
    x[trunc] <- paste0(strtrim(x[trunc], l), r) 
    x 
} 


samp <- sample(1:50, 500, replace=TRUE) 
samp.t <- round(1.2^table(samp)) 
samp.t[sample(1:50, 20)] <- 1 
names(samp.t) <- words 

dev.new(width=10, height=5) 
par(mar=c(10, 4, 3, 0.5), mgp=c(0, 0.8, -0.5), cex=0.9) 
b <- barplot(samp.t, xaxt="n", space=0.5, col=1) 
axis(1, at=b, labels=names(samp.t), las=2, tick=FALSE, cex.axis=0.8) 
mtext("All counts", line=1, cex=1.5) 

#barplot with logarithmic y-axis, truncated names and no single-counts 
samp.ts <- samp.t[samp.t != 1] 
names(samp.ts) <- strtrunc(names(samp.ts), 15) 

dev.new(width=10, height=5) 
par(mar=c(10, 4, 3, 0.5), mgp=c(0, 0.8, -0.5), cex=0.9) 
b <- barplot(samp.ts, xaxt="n", space=0.5, col=1, log="y") 
axis(1, at=b, labels=names(samp.ts), las=2, tick=FALSE, cex.axis=1.2) 
mtext("Counts > 1", line=1, cex=1.5) 

enter image description here enter image description here

超过20个或因此而得名类别酒吧地块一般不会真正的工作这么好,你可能会更好找到一种不同的方式来可视化数据。直方图或密度图可能是一个选项,如果它对您的数据有意义。否则,将条形图划分成更小的部分,可能是合理的团体,可能是另一个。

+0

+1用于暗示不同类型的可视化。图表应力求从复杂的数据集中提取清晰的视觉故事,而不是简单地用作原始数据转储。 –