我有一个包含区域和值的数据框。这是一个玩具示例。
Start End Value
1 100 2
100 200 3
300 400 2
400 500 1
我想要做的是创建一个图,其中每个区域(第1行,即Start=1
,End=100
)都标在x上,{{1}在y上。最好是,我想使用ggplot2。我有很多不同的应用程序,但它们都归结为这一个问题。
我最终得到的是每个区域的平坦(斜率= 0)线的图。这是一个关于的情节的例子,如果你忽略这些点,只关注线。
用文字来说,你会得到一个图,其中(对于玩具数据)x = 1-100,ay值为2,然后是行(x,y):( 100-200,3)(300) -400,2)(400-500,1)
答案 0 :(得分: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 tag wiki中有很多建议。