Ganti sumbu X dengan nilai sendiri


97

Saya punya pertanyaan tentang command plot ().

Apakah ada cara untuk menghilangkan sumbu x sepenuhnya dan menggantinya dengan nilai sendiri? Saya tahu bahwa saya dapat menghilangkan poros dengan melakukan

plot(x,y, xaxt = 'n')

lalu tambahkan sumbu dengan

axis(side = 1 etc.)

Namun, ketika saya menambahkan sumbu, jelas itu masih mengacu pada data yang diplot sebagai 'x'. Saya hanya ingin memplot nilai 'y' dan menambahkan sumbu x milik saya sendiri dalam arti hanya "menggambar" sumbu x dengan nilai yang ditentukan sendiri. Apakah ada cara untuk melakukannya?

Latar belakang pertanyaan ini adalah bahwa kedua bingkai data saya berbeda panjangnya dan oleh karena itu saya tidak dapat memplotnya.


Apakah Anda ingin menggambar vektor dengan panjang berbeda atau hanya ingin menyetel label x sendiri? Bisakah Anda memberikan contoh atau memberikan informasi lebih lanjut tentang datset?
Manoel Galdino

Anda mungkin juga ingin melihat bagaimana menggabungkan dua bingkai data menjadi satu. Anda mungkin dapat membuat lebih banyak plot dari data Anda dan mungkin membuat data lebih informatif.
Sam



Jawaban:


178

Tidak yakin apakah itu yang Anda maksud, tetapi Anda dapat melakukan ini:

plot(1:10, xaxt = "n", xlab='Some Letters')
axis(1, at=1:10, labels=letters[1:10])

yang kemudian memberi Anda grafik:

masukkan deskripsi gambar di sini


Terima kasih Tim! Tidak persis seperti yang saya cari tetapi itu membantu saya melakukan apa yang saya inginkan =)
Dani

5
x dan y memiliki panjang yang sama dalam kasus ini. bagaimana Anda menggambar label n jika panjang sumbu lainnya adalah m?
Colbert Sesanker

2
hanya untuk referensi: xaxt="n"opsi dalam plotperintah menekan pelabelan sumbu x. Jika opsi ini tidak disertakan, axisakan menjadi NOOP.
Steen

Ini berfungsi, tetapi bagaimana cara memutarnya sehingga vertikal? las = 2 tidak berfungsi.
runningbirds

Saya mencoba solusinya. xaxt = "n"opsi bekerja untuk deret waktu kelas-ts. Tapi, dalam kasus beberapa deret waktu (mts-class) itu tidak berhasil.
Erdogan CEVHER

14

Anda juga dapat mengatur labels = FALSEdi dalam axis(...)dan mencetak label dalam perintah terpisah dengan Teks. Dengan opsi ini Anda dapat memutar teks ke teks jika Anda membutuhkannya

lablist<-as.vector(c(1:10))
axis(1, at=seq(1, 10, by=1), labels = FALSE)
text(seq(1, 10, by=1), par("usr")[3] - 0.2, labels = lablist, srt = 45, pos = 1, xpd = TRUE)

Penjelasan rinci di sini

Gambar dengan label yang diputar


Tautan ke detailed explanationsudah mati
javadba
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.