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.

Dani
sumber
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
kemungkinan duplikat R, ubah jarak tanda centang pada sumbu plot?
Waldir Leoncio

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

tim_yates
sumber
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

pengguna9869932
sumber
Tautan ke detailed explanationsudah mati
javadba