Замініть вісь 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.