반응형
막대 그래프에서 Y 축 수치를 백분율로 변경하려면 어떻게해야합니까?
그림과 같이 y 축을 백분율로 어떻게 변경할 수 있습니까? y 축 범위를 변경할 수 있지만 백분율로 만들 수는 없습니다.
사용하다:
+ scale_y_continuous(labels = scales::percent)
또는 백분율에 대한 형식화 매개 변수를 지정하려면 다음을 수행하십시오.
+ scale_y_continuous(labels = scales::percent_format(accuracy = 1))
(이 명령 labels = percent
은 ggplot2 버전 2.2.1 이후로 사용되지 않음)
원칙적으로 labels
매개 변수에 형식 변경 기능을 전달할 수 있습니다 .
+ scale_y_continuous(labels = function(x) paste0(x*100, "%")) # Multiply by 100 & add %
또는
+ scale_y_continuous(labels = function(x) paste0(x, "%")) # Add percent sign
재현 가능한 예 :
library(ggplot2)
df = data.frame(x=seq(0,1,0.1), y=seq(0,1,0.1))
ggplot(df, aes(x,y)) +
geom_point() +
scale_y_continuous(labels = function(x) paste0(x*100, "%"))
ggplot2
그리고 scales
패키지는이 작업을 수행 할 수 있습니다
y <- c(12, 20)/100
x <- c(1, 2)
library(ggplot2)
library(scales)
myplot <- qplot(as.factor(x), y, geom="bar")
myplot + scale_y_continuous(labels=percent)
stat()
옵션이 해제되어 오류 메시지가 표시되는 것 같습니다 . 이 시도:
library(scales)
myplot <- ggplot(mtcars, aes(factor(cyl))) +
geom_bar(aes(y = (..count..)/sum(..count..))) +
scale_y_continuous(labels=percent)
myplot
위의 @Deena에서 가져온 레이블의 함수 수정은 생각했던 것보다 더 다양합니다. 예를 들어, 계수 된 변수의 분모가 140 인 ggplot이 있습니다. 다음과 같이 그녀의 예를 사용했습니다.
scale_y_continuous(labels = function(x) paste0(round(x/140*100,1), "%"), breaks = seq(0, 140, 35))
이를 통해 140 분모에 대한 백분율을 얻은 다음 기본적으로 설정된 이상한 숫자가 아닌 25 % 단위로 척도를 깰 수있었습니다. 여기서 핵심은 스케일 브레이크가 여전히 백분율이 아닌 원래 카운트로 설정된다는 것입니다. 따라서 구분은 0에서 분모 값까지 여야하며 "breaks"의 세 번째 인수는 분모를 원하는 레이블 구분 수로 나눈 값입니다 (예 : 140 * 0.25 = 35).
반응형
'development' 카테고리의 다른 글
Java에서 Log4J 출력 비활성화 (0) | 2020.09.17 |
---|---|
iPhone 애플리케이션의 수명주기는 무엇입니까? (0) | 2020.09.17 |
목록에없는 가장 작은 정수 찾기 (0) | 2020.09.17 |
jquery 변수 구문 (0) | 2020.09.17 |
JPA를 사용하여 인덱스 (비 고유 키) 지정 (0) | 2020.09.17 |