Как изменить метки оси X с символа на другой? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть вопросы по поводу ярлыков xaxis. В отличие от того, что обсуждалось здесь:

Как указать фактические значения оси x для построения в виде отметок оси x в R

Я составил график данных, содержащий 10 столбцов. Каждый из них представлен в коробочном графике. Для оси x мои метки от Pipe1 до Pipe 10. Теперь я хочу изменить эти метки на определенный идентификатор, например, таким образом

windows()
par(mfrow= c(2,1),las=3)
boxplot(output.valid.fast,outline=F, xlab ="Pipes",ylab="RMSE(-)")
axis(1,at=c("Pipe1","Pipe2","Pipe3","Pipe4","Pipe5","Pipe6","Pipe7","Pipe8","Pipe9","Pipe10"),labels=c("1234","2345","3456","4567","5678","6789","78910","891011","9101112","10111213"))

каждый раз, когда я делаю это, я получаю сообщение об ошибке:

In axis(1, at = c("Pipe1", "Pipe2", "Pipe3", "Pipe4", "Pipe5", "Pipe6",  :
  NAs introduced by coercion

Что я тут не так сделал? Я был бы очень признателен за советы или подсказки. Ура, Олли

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Чтобы построить ответ Джекса, чтобы объяснить, что происходит, R строит ось в числовом масштабе, а затем применяет надписи pipe 1 и т. Д. К ним по умолчанию. Сначала необходимо подавить текстовые метки по умолчанию, используя xaxt = "n" в функции boxplot (обратите внимание, что в этот момент он все еще создает график с немаркированной осью X), а затем попросить его применить выбранные метки в выбранных местах, используя labels и at соответственно в функции axis, с at = 1:10.

Далее иллюстрируя эту точку зрения, что оси используют числовую систему координат, вы можете нанести текст на график в соответствии с 3-м блоком, используя text("abc", x = 3, y = 0).

0 голосов
/ 06 мая 2018

Заменить at = c("Pipe1", ... , "Pipe10") на at = 1:10.

Пример с 2 столбцами

boxplot(data.frame(Pipe1 = 1:10, Pipe2 = 2:11), xaxt = "n")
axis(1, at = 1:2, labels = c("1234","2345"))

enter image description here

...