Noa*_*oss 71 r border point thickness ggplot2
当使用ggplot时,我可以设置shape
为21-25来获取具有internal(fill
)和border(col
)颜色的独立设置的形状,如下所示:
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21)
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何控制形状边框的厚度,无论是绝对设置还是美学映射.我注意到,如果我设置一个lwd
值,它会覆盖size
美学:
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21, lwd=2)
Run Code Online (Sandbox Code Playgroud)
如何控制边框厚度?
Noa*_*oss 77
从ggplot2的 2.0.0版开始,有一个控制点边框厚度的参数.从NEWS.md
文件:
geom_point()获得一个笔触美学,它控制形状21-25(#1133,@SeySayux)的边框宽度.尺寸和行程是相加的,因此尺寸= 5且行程= 5的直径为10mm.(#1142)
因此,现在正确的解决方案是:
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21, stroke = 2)
Run Code Online (Sandbox Code Playgroud)
Sim*_*lon 16
感觉有点hacky但你可以添加一个" 背景 "点集,其大小设置为美学映射加上一些小常数来扩大点的边界.使用常量来获得所需的边框宽度.
您还必须禁用大小图例以停止在图表上显示图例...
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(size=id+0.5), colour="black" , show_guide = FALSE )+
scale_size( guide = "none" )+
geom_point(aes(fill=id, size=id), colour="black", shape=21)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
42941 次 |
最近记录: |