programing

R이 단축 축 레이블(과학적 표기법) 표시를 중지하도록 합니다(예: 1e+00).

abcjava 2023. 6. 15. 21:31
반응형

R이 단축 축 레이블(과학적 표기법) 표시를 중지하도록 합니다(예: 1e+00).

ggplot2에서 축 레이블이 축약되는 것을 중지하려면 어떻게 해야 합니까(예:1e+00, 1e+01x축을 따라 표시된 적이 있습니까?이상적으로, 나는 R이 이 경우에 있을 실제 값을 표시하도록 강요하고 싶습니다.1,10.

어떤 도움이든 감사합니다.

제 생각에 당신은 이것을 찾고 있는 것 같습니다.

require(ggplot2)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))
# displays x-axis in scientific notation
p  <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p

# displays as you require
library(scales)
p + scale_x_continuous(labels = label_comma())

다음과 같은 방법을 사용해 보셨습니까?

options(scipen=10000)

계획하기 전에?

@Arun이 만든 것에 대한 업데이트일 뿐입니다. 오늘 시도했지만 실현되었기 때문에 작동하지 않았습니다.

+ scale_x_continuous(labels = scales::comma)

보다 일반적인 솔루션으로는scales::format_format과학적 표기법을 제거합니다.이것은 또한 당신이 당신의 라벨이 정확히 어떻게 표시되기를 원하는지에 대한 많은 통제를 제공합니다.scales::comma그것은 크기 순서의 쉼표 분리만 수행합니다.

예:

require(ggplot2)
require(scales)
df <- data.frame(x=seq(1, 1e9, length.out=100), y=sample(100))

# Here we define spaces as the big separator
point <- format_format(big.mark = " ", decimal.mark = ",", scientific = FALSE)

# Plot it
p  <- ggplot(data = df, aes(x=x, y=y)) + geom_line() + geom_point()
p + scale_x_continuous(labels = point)

확장 라이브러리가 필요 없는 솔루션이 있습니다.

시도할 수 있습니다.

# To deactivate scientific notation on y-axis:

    p + scale_y_continuous(labels = function(x) format(x, scientific = FALSE))

# To activate scientific notation on y-axis:

    p + scale_y_continuous(labels = function(x) format(x, scientific = TRUE))

# To deactivate scientific notation on x-axis:

    p + scale_x_continuous(labels = function(x) format(x, scientific = FALSE))

# To activate scientific notation on x-axis:

    p + scale_x_continuous(labels = function(x) format(x, scientific = TRUE))

원래 질문을 분수로 확장(예: 1, 0.1, 0.01, 0.001 등) 및 후행 0 회피

p + scale_x_continuous(labels = function(x) sprintf("%g", x))

쉼표를 1000개의 구분 기호로 사용하려는 경우 다음을 사용할 수 있습니다.

p + scale_x_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE))

R이 과학적 표기에 사용하는 패널티를 설정하는 가장 간단한 일반적인 해결책이 더 높지 않습니까?

i.escipen()당신이 편한 번호로.

예: 차트의 축 최대값이 100000일 가능성이 높은 경우 설정scipen(200000)R(및 ggplot)은 200000 미만의 모든 숫자에 대해 표준 표기법을 사용하며 ggplot 함수에 선을 추가할 필요가 없습니다.

p + scale_x_continuous(labels = scales::number_format(accuracy = 1))

accuracy = 1정수를 위한 것이며, 당신은 또한 사용할 수 있습니다.accuracy = 0.1소수점 한 자리를 원했다면,accuracy = 0.01소수점 이하 두 자리에 대하여 등

이 대답과 유사한

library(scales)

ggplot(data, aes(salary)) +
  geom_histogram() +
  scale_x_continuous(labels = comma)

여기서scale_x_continuous(labels = comma)그 문제를 해결할 수 있습니다.

언급URL : https://stackoverflow.com/questions/14563989/force-r-to-stop-plotting-abbreviated-axis-labels-scientific-notation-e-g-1e

반응형