R이 단축 축 레이블(과학적 표기법) 표시를 중지하도록 합니다(예: 1e+00).
ggplot2에서 축 레이블이 축약되는 것을 중지하려면 어떻게 해야 합니까(예:1e+00, 1e+01
x축을 따라 표시된 적이 있습니까?이상적으로, 나는 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
'programing' 카테고리의 다른 글
하나의 필드를 CLOB로 사용하여 오라클 삽입 스크립트를 작성하는 방법은 무엇입니까? (0) | 2023.06.15 |
---|---|
VueX: 모듈로 상태를 중첩하지 않습니까? (0) | 2023.06.15 |
오브젝트 키를 기반으로 TypeScript에서 동적으로 열거형을 생성하는 방법이 있습니까? (0) | 2023.06.15 |
IEnumberable에 Count 메서드가 없습니다. (0) | 2023.06.15 |
한 사전이 다른 더 큰 사전의 하위 집합인지 확인하는 방법은 무엇입니까? (0) | 2023.06.15 |