web-dev-qa-db-ja.com

省略された軸ラベルのプロットを強制的にRに停止します。 ggplot2の1e + 00

Ggplot2では、軸ラベルが省略されているのを止めるにはどうすればいいですか? 1e+00, 1e+01一度プロットされたx軸に沿って?理想的には、Rに実際の値を表示させたいと思います。この場合、1,10

助けていただければ幸いです。

78
JPD

あなたはこれを探していると思います:

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
require(scales)
p + scale_x_continuous(labels = comma)
105
Arun

あなたは次のようなものを試しましたか:

options(scipen=10000)

プロットする前に?

53
juba

@Arunが作成したものを更新しただけです。今日試してみましたが、

+ scale_x_continuous(labels = scales::comma)
27
Derek Corcoran

より一般的な解決策として、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)
9
user2739472