Создание одномерного графика с именами точек данных в R - PullRequest
2 голосов
/ 13 сентября 2011

У меня есть список точек данных (0,2, 0,8, 0,95), которые я хочу построить на линии. Я хочу создать одномерный масштаб (вертикальный или горизонтальный) этого диапазона значений с именами этих точек данных (яблоки, бананы, помидоры), сопоставленных с точками данных, которые расположены на шкале. Я знаю, что в пакете есть относительно простая функция, но я больше не могу ее найти! Пожалуйста помоги :).

Спасибо, Annemarie

Ответы [ 3 ]

4 голосов
/ 13 сентября 2011

Не уверен насчет функции для этого, ближе всего я могу подумать, если dotchart, но это не то же самое. Однако как насчет этого:

dat <- c(0.2,0.8,0.95)
names(dat) <- c("apples","bananas","tomatoes")
plot(c(1,1),range(dat),type="l",col="lightgrey",xlab="",xaxt="n")
points(rep(1,length(dat)),dat)
text(1,dat,names(dat),pos=4)

Что приводит к:

enter image description here

2 голосов
/ 13 сентября 2011

Первое, что пришло мне в голову, было сделать это вручную:

plot(rep(1,3),c(0.2, 0.8, 0.95),ylim=c(0,1),axes=F,xlab="",ylab="",type="o",pch=19)
axis(side=2)
text(rep(1,3),c(0.2, 0.8, 0.95),c("apples", "bananas", "tomatoes"),pos=4,xpd=T)

enter image description here

, потому что тогда у вас есть полный контроль.Также есть функция с именем stripchart(), которая выполняет 1-мерное построение:

stripchart(c(0.2, 0.8, 0.95),vertical=T)
text(rep(1,3),c(0.2, 0.8, 0.95),c("apples", "bananas", "tomatoes"),pos=4)

enter image description here и не очень красива, но вы можете взять ее оттуда.

0 голосов
/ 02 июля 2012

Я нашел удобную функцию в библиотеке вегана, чтобы сделать это:

x <- c(1,3.4,7,8,9,15,19)
names <- c("apple","pear","banana","grapefruit","orange","tomato","cucumber")
library(vegan)
linestack(x, names, side = "left")

Надеюсь, это кому-нибудь пригодится.

...