Jawaban:
Saya pikir Anda mencari ini:
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)
Apakah Anda mencoba sesuatu seperti:
options(scipen=10000)
sebelum merencanakan?
Hanya pembaruan untuk apa yang dibuat @Arun, karena saya mencobanya hari ini dan tidak berhasil karena sudah diaktualisasikan
+ scale_x_continuous(labels = scales::comma)
require(scales)
? Ini mengimpor paket yang berisi comma
skala. Seperti yang telah Anda temukan, Anda juga dapat menentukan paket saat merujuknya daripada meminta sebelumnya.
Sebagai solusi yang lebih umum, Anda dapat menggunakan scales::format_format
untuk menghilangkan notasi ilmiah. Ini juga memberi Anda banyak kendali tentang bagaimana tepatnya Anda ingin label Anda ditampilkan, sebagai lawan scales::comma
yang hanya melakukan pemisahan koma dari urutan besarnya.
Sebagai contoh:
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)
Ada solusi yang tidak membutuhkan pustaka timbangan.
Anda dapat mencoba:
# 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))
Bukankah solusi umum paling sederhana untuk menetapkan hukuman yang digunakan R untuk notasi ilmiah lebih tinggi?
yaitu set scipen()
ke angka yang Anda rasa nyaman.
mis. Jika sumbu Anda maksimum pada grafik kemungkinan besar 100 000, pengaturan scipen(200000)
akan memastikan bahwa R (dan ggplot) akan menggunakan notasi standar untuk semua angka di bawah 200000 dan tidak ada persyaratan untuk menambahkan baris apa pun ke fungsi ggplot.
Memperluas pertanyaan awal agar juga terdiri dari pecahan, yaitu 1, 0,1, 0,01, 0,001 dll. Dan menghindari nol tertinggal
p + scale_x_continuous(labels = function(x) sprintf("%g", x))