我有一个包含区域和值的数据框。 这是一个玩具示例。

Start    End    Value
1        100     2
100      200     3
300      400     2
400      500     1

我想做的是创建一个绘图,其中每个区域(第1行,即Start=1End=100 )都绘制在x上,而Value则在y上。 而且最好是,我想使用ggplot2。 我为此有许多不同的应用程序,但它们都归结为这个问题。

我最终得到的是每个区域的平坦(slope = 0)线图。 如果忽略点,而只关注线 ,这是情节类型的示例。

复制号码图

换句话说,您将有一个图,(对于玩具数据)从x = 1-100开始,y值为2的直线,然后是(x,y):(100-200,3)(300-400, 2)(400-500,1)

===============>>#1 票数:1 已采纳

您可以使用geom_segment绘制线段。 有关详细信息,请参见?geom_segment

ggplot(df) + 
    geom_segment(aes(x = Start, xend = End, y = Value, yend = Value))

在此处输入图片说明

使用此数据:

df = structure(list(Start = c(1L, 100L, 300L, 400L), End = c(100L, 
200L, 400L, 500L), Value = c(2L, 3L, 2L, 1L)), .Names = c("Start", 
"End", "Value"), class = "data.frame", row.names = c(NA, -4L))

您可能应该检查一下ggplot2资源。 ggplot2标签Wiki中有很多建议。

  ask by Gaius Augustus translate from so

未解决问题?本站智能推荐: