使用geom_vline绘制x轴中的刻度和颜色渐变

时间:2015-05-22 22:31:26

标签: r ggplot2

示例数据

SNP_BP  LD
13203   1.00
13456   0.74
13646   0.43
...     ....

使用ggplot制作刻度。

到目前为止,我已尝试使用以下命令:

p <- ggplot()+
geom_vline(data=d, mapping=aes(xintercept=SNP_BP))+
scale_x_continuous(limits=c(12345,14533)

现在当我试着说:

  

存在错误(name,envir = env,mode = mode):缺少参数“env”,没有默认值

另外,我需要在这个图中添加这些刻度的颜色渐变(基于其LD(列)值)。

1 个答案:

答案 0 :(得分:0)

我认为问题在于ggplot没有关于y轴的信息,因此无法创建绘图。这可以通过使用scale_y_continuous

明确说明y轴的限制来解决
library(RColorBrewer)
ggplot(d) +
   geom_vline(aes(xintercept=SNP_BP,colour=LD)) +
   scale_x_continuous(limits=c(12345,14533)) +
   scale_y_continuous(limits=c(0,1)) +
   scale_colour_gradientn(colours=brewer.pal(7,"YlOrRd"))

只要您将点或线(或其他内容)添加到绘图中,ggplot将从这些点覆盖的范围中确定y轴范围,并且不再需要scale_y_continuous

我还通过设置审美colour=LD为线条添加了颜色。添加scale_colour_gradientn(...)是可选的,我只是为了向您展示可能性,如何更改颜色。我使用包RColourBrewer(带brewer.pal())的颜色,我发现它非常有用。

使用您在帖子中提供的三个数据点,代码将导致以下图表:

enter image description here