ggplot을 사용하여 축의 숫자 형식을 변경하려면 어떻게 해야 합니까?
R 및 gg 그림을 사용하여 일부 데이터의 산점도를 그립니다. y축의 숫자가 컴퓨터 스타일 지수 형식(예: 4e+05, 5e+05 등)으로 표시되는 것을 제외하고는 문제가 없습니다.저는 이것을 받아들일 수 없기 때문에 50만, 40만 등으로 표시하고 싶습니다.적절한 지수 표기법을 얻는 것도 허용될 것입니다.
그림 코드는 다음과 같습니다.
p <- ggplot(valids, aes(x=Test, y=Values)) +
geom_point(position="jitter") +
facet_grid(. ~ Facet) +
scale_y_continuous(name="Fluorescent intensity/arbitrary units") +
scale_x_discrete(name="Test repeat") +
stat_summary(fun.ymin=median, fun.ymax=median, fun.y=median, geom="crossbar")
어떤 도움이든 감사합니다.
다른 옵션은 패키지를 사용하여 축 눈금 레이블을 쉼표로 포맷하는 것입니다.scales
추가
scale_y_continuous(name="Fluorescent intensity/arbitrary units", labels = comma)
당신의 ggplot 진술에.
패키지를 로드하지 않으려면 다음을 사용합니다.
scale_y_continuous(name="Fluorescent intensity/arbitrary units", labels = scales::comma)
축에 적절한 'x10(상위 스크립트)5' 표기를 제공하는 다른 방법도 찾았습니다.누군가에게 도움이 될 수 있기를 바라며 여기에 올립니다.나는 여기서 코드를 얻었기 때문에 그것에 대한 공이 없다고 주장합니다. 그것은 당연히 브라이언 긱스에게 전달됩니다.
fancy_scientific <- function(l) {
# turn in to character string in scientific notation
l <- format(l, scientific = TRUE)
# quote the part before the exponent to keep all the digits
l <- gsub("^(.*)e", "'\\1'e", l)
# turn the 'e+' into plotmath format
l <- gsub("e", "%*%10^", l)
# return this as an expression
parse(text=l)
}
다음으로 사용할 수 있습니다.
ggplot(data=df, aes(x=x, y=y)) +
geom_point() +
scale_y_continuous(labels=fancy_scientific)
x <- rnorm(10) * 100000
y <- seq(0, 1, length = 10)
p <- qplot(x, y)
library(scales)
p + scale_x_continuous(labels = comma)
저는 여기서 게임에 늦었지만 다른 사람들이 쉬운 해결책을 원할 경우를 대비하여 다음과 같은 일련의 기능을 만들었습니다.
ggplot + scale_x_continuous(labels = human_gbp)
x 또는 y 축(또는 일반적으로 임의의 숫자)에 대한 사람이 읽을 수 있는 숫자를 제공합니다.
여기서 기능을 찾을 수 있습니다: Github Repo 함수를 스크립트에 복사하면 호출할 수 있습니다.
저는 잭 에들리의 제안된 대답이 유용하다고 생각합니다.
저는 다른 선택지를 버리고 싶었습니다.작은 숫자가 많은 시리즈가 있고 축 레이블이 전체 소수점(예: 5e-05 -> 0.0005)을 기록하려고 한다고 가정하면 다음과 같습니다.
NotFancy <- function(l) {
l <- format(l, scientific = FALSE)
parse(text=l)
}
ggplot(data = data.frame(x = 1:100,
y = seq(from=0.00005,to = 0.0000000000001,length.out=100) + runif(n=100,-0.0000005,0.0000005)),
aes(x=x, y=y)) +
geom_point() +
scale_y_continuous(labels=NotFancy)
언급URL : https://stackoverflow.com/questions/11610377/how-do-i-change-the-formatting-of-numbers-on-an-axis-with-ggplot
'it-source' 카테고리의 다른 글
모카에 대한 테스트 디렉토리를 지정하는 방법은 무엇입니까? (0) | 2023.06.25 |
---|---|
유형 스크립트에서 null 가능한 값을 반환하려면 어떻게 해야 합니까? (0) | 2023.06.25 |
인증스프링 보안의 성공 담당자 (0) | 2023.06.20 |
SQL 'where' 절의 조건 실행 순서 (0) | 2023.06.20 |
VScode PHPCS 확장 오류: 참조된 Snip "WordPress-Core"가 없습니다. (0) | 2023.06.20 |