반응형
ggplot2를 사용하여 R의 geom_bar 위에 레이블을 넣는 방법
geom_bar
그래프 위에 레이블을 몇 개 쌓고 싶습니다 . 다음은 예입니다.
df <- data.frame(x=factor(c(TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE)))
ggplot(df) + geom_bar(aes(x,fill=x)) + opts(axis.text.x=theme_blank(),axis.ticks=theme_blank(),axis.title.x=theme_blank(),legend.title=theme_blank(),axis.title.y=theme_blank())
지금
테이블(df$x)
FALSE TRUE
3 5
두 막대 위에 3과 5를 표시하고 싶습니다. 백분율 값도 가질 수 있다면 더 좋습니다. 예 3 (37.5%)
및 5 (62.5%)
. 이렇게: (출처: skitch.com )
이게 가능해? 그렇다면 어떻게?
ggplot의 많은 작업과 마찬가지로 일반적인 전략은 변수가 플롯의 변수 및 미학과 일치하는 방식으로 플롯에 추가하려는 항목을 데이터 프레임에 넣는 것입니다. 예를 들어 다음과 같은 새 데이터 프레임을 생성합니다.
dfTab <- as.data.frame(table(df))
colnames(dfTab)[1] <- "x"
dfTab$lab <- as.character(100 * dfTab$Freq / sum(dfTab$Freq))
있도록 x
변수에서 해당 변수를 일치 df
, 등등. 그런 다음 다음을 사용하여 간단히 포함합니다 geom_text
.
ggplot(df) + geom_bar(aes(x,fill=x)) +
geom_text(data=dfTab,aes(x=x,y=Freq,label=lab),vjust=0) +
opts(axis.text.x=theme_blank(),axis.ticks=theme_blank(),
axis.title.x=theme_blank(),legend.title=theme_blank(),
axis.title.y=theme_blank())
이 예에서는 백분율만 표시하지만 다음 paste
과 같이 카운트도 함께 표시 할 수 있습니다 .
dfTab$lab <- paste(dfTab$Freq,paste("(",dfTab$lab,"%)",sep=""),sep=" ")
현재 버전의 ggplot2에서는 opts
더 이상 사용되지 않으므로 theme
and element_blank
now를 사용 합니다.
A의 텍스트를 플롯하려면, ggplot
당신은을 사용합니다 geom_text
. 그러나 먼저 다음을 사용하여 데이터를 요약하는 것이 도움이 됩니다.ddply
dfl <- ddply(df, .(x), summarize, y=length(x))
str(dfl)
데이터가 미리 요약되어 있으므로 stat="identity"
매개변수를 geom_bar
다음에 추가하여 변경해야 합니다 .
ggplot(dfl, aes(x, y=y, fill=x)) + geom_bar(stat="identity") +
geom_text(aes(label=y), vjust=0) +
opts(axis.text.x=theme_blank(),
axis.ticks=theme_blank(),
axis.title.x=theme_blank(),
legend.title=theme_blank(),
axis.title.y=theme_blank()
)
참조URL : https://stackoverflow.com/questions/6455088/how-to-put-labels-over-geom-bar-in-r-with-ggplot2
반응형
'IT이야기' 카테고리의 다른 글
바이너리 패치 생성 방법 (0) | 2021.10.01 |
---|---|
BCL 컬렉션이 클래스가 아닌 구조체 열거자를 사용하는 이유 (0) | 2021.10.01 |
Visual Studio가 시작 시 멈춤 또는 중단됨 (0) | 2021.10.01 |
float를 반환하는 메서드에서 결과를 float로 캐스팅하면 결과가 변경됩니다. (0) | 2021.09.30 |
Framework 3.5에서 서버 태그 <%= %>로 Visible 속성 설정 (0) | 2021.09.30 |