Jarak sumbu x dengan tanda centang khusus pada skala log

Saya telah memplot data saya dalam diagram sebar biasa menggunakan plot(). Saya telah menetapkan rentang sumbu x antara 0 dan 1000 pada skala log. Sejauh ini bagus. Tetapi saya memiliki 3 kumpulan data yang berbeda, dan untuk salah satunya, spasinya adalah 0, 1, 10, 100, 1000, sedangkan untuk dua lainnya "1" tidak ada. Saya ingin ketiga plot menyertakan "1".

Saya mencoba dengan xaxt="n" dan kemudian axis(1, at=c(0, 1, 10, 100, 1000)).

Angka 1 kemudian diplot mendekati 0, sehingga tidak ada penskalaan log antara 0 dan 1. Saya harap ini tidak terlalu membingungkan. Bagaimana cara saya memplot 0,1,10,100,1000 SEMUA pada skala log, yaitu jarak yang sama antara semua nilai ini?

Saya harap seseorang dapat membantu!


person user3045021    schedule 28.11.2013    source sumber
comment
Sudahkah Anda mencoba menyetel xlim di plot?   -  person fotNelton    schedule 28.11.2013
comment
Semoga posting ini dapat memberi Anda petunjuk   -  person TWL    schedule 28.11.2013
comment
@fotNelton: Ya, saya menggunakan xlim untuk menentukan rentang, tetapi R tampaknya melakukan penyingkiran tanda centang secara default.   -  person user3045021    schedule 28.11.2013
comment
TWL: Apakah petunjuk bahwa postingan saya berisi terlalu sedikit informasi? Maaf, saya benar-benar pemula. Tapi saya akan memposting seluruh skrip jika Anda mau   -  person user3045021    schedule 28.11.2013


Jawaban (1)


Anda perlu melakukan sesuatu seperti ini:

#plot 1
# i don't know what your ylim should be but you want them to be 
# minimum across y1, y2, y3 and maximum across y1, y2, y3
plot(x1,y1,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="red")
par(new=T)

#plot 2
plot(x2,y2,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="blue")
par(new=T)

#plot 3
plot(x3,y3,axes=F,xlim=c(0,1000),ylim=c(?,?),xlog=TRUE, col="yellow")

#now put back in the axes
#y axis first
axis(2)
#x axis
axis(1,at=c(0, 1, 10, 100, 1000),label=c(0, 1, 10, 100, 1000))
box(bty="l")

Yang dilakukan adalah membuat tiga grafik yang memiliki rentang x dan y yang sama; khususnya, rentang x untuk semua grafik akan sama, 0 hingga 1000. Kedua sumbu harus menjangkau data Anda. Jika tidak, Anda hanya perlu memperpanjang x atau y. Gantikan tanda tanya di ylim=c(?,?) dengan beberapa nilai numerik yang mencakup rentang nilai y Anda.

Setelah data diplot, barulah Anda menambahkan pernyataan axis untuk diberi tanda centang dan label.

person David    schedule 11.12.2015