2016-05-31 2 views
3

막대 수가 많은 막대 그림에서 막대의 간격 및 막대 너비가 모순되거나 줄의 폭이 변경 될 때 문제가 발생합니다 .많은 막대가있는 geom_bar에서 일관되지 않은 간격/막대 너비 방지

set.seed(23511) 
dat <- data.frame(x = 1:540, y = rnorm(540)) 

library(ggplot2) 
ggplot(dat) + 
    geom_bar(aes(x = x, y = y), stat = "identity") 

해결 방법이 있습니까? 나는 width을 가지고 노려 보았고 전반적인 플롯 크기는 아무 소용이 없습니다. alistaire의 의견에 대응

enter image description here

여기 RStudio에서 처음 몇 줄의 스크린 샷입니다. 처음 3 양 개의 값을 막대 사이의 공간이처럼 그것을 명확하게 보이는 날에 ..

x   y 
1 1 0.9450960 
2 2 0.9277378 
3 3 0.4371033 
4 4 -1.0333073 
5 5 2.0473397 
6 6 0.8174123 
7 7 0.4277842 
8 8 -0.4336887 
9 9 0.2156801 
10 10 0.4918345 

.. 처음 10 개 값을 보면/바 거기에 3 개 개의 긍정적 값의 두 번째 세트보다 좁다 막대/막대 사이의 공간이 더 넓지 않습니다.

enter image description here

+1

폭이 실제로 일관성이 없다고 확신하지는 않습니다. 그들은 단지 서로 옆에 쌓여있어 일부는 더 넓거나 좁아 보입니다. 그래도 각 바는 같은 너비로 보입니다. – alistaire

+2

간단히 유한 크기 픽셀의 효과 일 수 있습니다. –

+0

@alistaire 제 편집을 참조하십시오. 아니면 방금 너무 오랫동안 음모를 봤어? ;) – beetroot

답변

2

나는이 픽셀 문제라고 생각합니다. 막대의 x가 1.5에서 2.7 픽셀로 이동하면 1 픽셀 너비가되고 1.9에서 3.1 (동일한 너비)이되면 2 픽셀 너비가됩니다.

막대 대신 줄을 사용할 수 있습니다.

ggplot(data=dat, aes(x=x, y=y)) + 
    geom_segment(aes(xend=x, yend=0), size = 0.6) 

나는 아직도 가끔 픽셀 문제로 실행 생각하지만, 그것은 어쩌면 size으로 제어하기 쉽게합니다.

+1

나는'geom_segment'로 당신의 아이디어를 좋아합니다! 나는 당신의 대답을 수락하기 전에 누군가가'geom_bar'에 대한 해결책을 제시 할 때까지 기다릴 것입니다. – beetroot

관련 문제