Замініть вісь X власними значеннями


95

У мене питання щодо командного сюжету ().

Чи є спосіб повністю усунути вісь х і замінити її власними значеннями? Я знаю, що можу позбутися осі, виконавши

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

а потім додайте вісь із

axis(side = 1 etc.)

Однак, коли я додаю вісь, очевидно, вона все ще посилається на дані, накреслені як "x". Я хотів би тільки побудувати «y» -значення та додати вісь x власним у сенсі просто «намалювати» вісь x із вказаними власними значеннями. Чи можна це зробити?

Основою цього питання є те, що два мої кадри даних відрізняються за своєю довжиною, і тому я не можу їх побудувати.


Ви хочете побудувати вектори різної довжини чи просто хочете встановити мітку x власноруч? Чи можете ви навести приклад чи дати більше інформації про датсети?
Маноел Галдіно

Ви також можете побачити, як поєднати два кадри даних разом. Можливо, ви зможете скласти більше графіків із своїх даних і, можливо, зробите дані більш інформативними.
Сем



Відповіді:


176

Не впевнений, що ви маєте на увазі, але ви можете зробити це:

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

який потім дає вам графік:

введіть тут опис зображення


Дякую Тім! Не зовсім те, що я шукав, але це допомогло мені зробити те, що я хотів =)
Дані,

5
x і y в цьому випадку мають однакову довжину. як намалювати n міток, коли довжина іншої осі дорівнює m?
Кольбер Сесанкер

2
лише для довідки: xaxt="n"параметр у plotкоманді придушує маркування осі х. Якщо ця опція не включена, axisбуде NOOP.
Стін

Це працює, але як його повернути, щоб він був вертикальним? las = 2 не працює.
бігові птахи

Я спробував рішення. xaxt = "n"варіант працював для часових рядів класу ts. Але у випадку з кількома часовими рядами (mts-class) це не спрацювало.
Ердоган ЦЕВЕР

14

Ви також можете встановити labels = FALSEвсередині axis(...)та надрукувати етикетки в окремій команді з текстом. За допомогою цієї опції ви можете обертати текст тексту на випадок, якщо вам це потрібно

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)

Детальне пояснення тут

Зображення з обернутими мітками


Посилання на detailed explanationмертве
Джавадба
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.