annotate()
내 플롯에서 이탤릭체 아래 의 함수 에서 문자 "R"을 어떻게 만드는지 알 수 없습니다 . 나는에 추가 해봤 expression()
전에 paste()
, 그리고 사용 italic()
하지만은 않고 계산의 결과보다, 텍스트로 "라운드 (COR을 ..."시작하는 섹션을 붙여 넣습니다.
ggplot(subset(crossnat, !is.na(homicide) & !is.na(gdppercapita)),
aes(x = gdppercapita, y = homicide)) +
geom_point(alpha = 0.4) +
ggtitle("Figure 3: Relationship between GDP per capita ($) and homicide rate") +
labs(subtitle = "n = 177 (17 countries removed as either GDP per capita or homicide data unavailable",
x = "GDP per capita ($)",
y = "Number of homicides in 2013 (per 100k of population)") +
scale_y_continuous(breaks = c(0,15,30,45,60,75,90)) +
geom_smooth(method = "loess",
formula = y ~ x,
colour = "red",
size = 0.5) +
annotate(x = 50000, y = 75,
label = paste("R = ", round(cor(crossnat$gdppercapita, crossnat$homicide, use = "complete.obs"),3)),
geom = "text", size = 4)
감사
편집-제안 된 중복 가능성이 저에게 작동하지 않는 것 같습니다. 나는 이것이 내부에 포함되는 상관 관계의 계산 때문일 수 있다고 생각합니다 annotate()
.
이러한 유형의 서식은 까다 롭습니다. 를 parse=TRUE
사용할 때 공백에주의해야합니다 . 텍스트 서식을 지정하려면 붙여 넣기의 두 단계를 진행하십시오. 재현 가능한 간단한 예를 만들어 보겠습니다.
ggData <- data.frame(x=rnorm(100), y=rnorm(100) )
ggplot
코드의 가독성을 위해 함수 외부에 텍스트와 상관 관계 값 R을 저장하는 것이 좋습니다 .
textPart1 <- "paste(italic(R), \" =\")" # check the ?annotate example for \" =\"
corVal <- round(cor(ggData$x, ggData$y, use = "complete.obs"), 3)
트릭은 공백 대신에 paste
두 개의 변수를 사용하는 sep="~"
것입니다.
ggplot(ggData, aes(x = x, y = y) ) +
geom_point(alpha = 0.4) +
annotate("text", x = 2, y = 1.5,
label = paste(textPart1, corVal, sep="~"), size = 4 , parse=TRUE)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다