Построение линейного графика с вертикальными и горизонтальными сегментами - PullRequest
1 голос
/ 16 января 2012

У меня есть следующая таблица

>Anna
    from     to      values
    5        10       34
   10       14       45
   14       23       46
   23       34       54

Итак, я хочу построить линейный график, который по оси x будет иметь значения from и to, а по y результаты.

Более подробно, мне нужно иметь точку на значении 5 (от), затем линию до точки 10 (до) на высоте 34 (ось Y), а затем линия идет от точки 10 до 14 при значении 45ось Y.

Ответы [ 2 ]

3 голосов
/ 16 января 2012

Функция segments рисует сегменты!

> mydata
  from to values
1    5 10     34
2   10 14     45
3   14 23     46
4   23 34     54

plot(NA,xlim=c(0,40),ylim=c(0,60))
points(values~from,data=mydata)
points(values~to,data=mydata)
segments(mydata$from,mydata$values,mydata$to,mydata$values)

Example

0 голосов
/ 16 января 2012

Вы можете использовать опцию type="s" для построения пошаговых функций. (Если вам нужны точки, вы можете добавить их после points.)

# Sample data
n <- 10
instants <- c(0, cumsum(rexp(n)))
d <- data.frame( 
  from = instants[1:n],
  to = instants[-1],
  value = cumsum(rnorm(n))
)

plot( c(d$from[1], d$to), c(d$value, d$value[n]), type="s" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...