首页 文章

ggplot - 以磅为单位控制线宽

提问于
浏览
1

我有以下数据:

d = data.frame(x=rnorm(100), y=rnorm(100), w=sample(c(0,1,2), 100, replace=T))

我想绘制这些数据,因此每行的宽度由d $ w给出(理想情况下以“pt”为单位) . 但是,我在使用ggplot时遇到了麻烦 . 实际上,即使d $ w为零,ggplot仍会划一条线:

ggplot(d, aes(x=x,y=y)) + geom_line(aes(size=w)) + scale_size_continuous(range=c(0,2))

有关如何解决此问题的任何想法?我知道我可以用NA取代零,但我更关心的是规模本身是不正确的 . 有没有办法制作线宽以有意义的固定单位测量的图?

1 回答

  • 0

    一种可能的解决方案是过滤零值 .

    library(dplyr)
    library(ggplot2)
    d = data.frame(x=rnorm(100), y=rnorm(100), w=sample(c(0,1,2), 100, replace=T))
    
    ggplot(d %>%
             filter(w>0), aes(x=x,y=y)) + 
      geom_line(aes(size=w)) + 
      scale_size_continuous(range=c(0,2))
    

    Plot

相关问题