2017-10-08 61 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用於暗示不同類型的可視化。圖表應力求從複雜的數據集中提取清晰的視覺故事,而不是簡單地用作原始數據轉儲。 –