r - 如何绘制具有变量给定半径的散点图?
问题描述
我对ggplot很陌生,我需要制作一个大小与df的变量成比例的散点图,这样一些点就会得到“零半径”,因为变量中的值为0,但是当我使用大小时aes,具有 0 值的点映射到非零半径点。
我怎样才能得到想要的效果?
解决方案
根据帮助,“scale_size_area
确保将 0 的值映射到 0 的大小”。scale_radius
[另外值得注意的是,如果使用orscale_size
并将参数的下限设置range
为零,您可以获得类似的效果]。所以我们可以这样做:
df <- data.frame(x=0:5, y=0:5, s=0:5)
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(size=s)) +
scale_size_area() # NB scale_size(range = c(0, 6)) also works
请注意,这仍然使用单个像素显示“零大小”点的位置。如果您希望它们实际上是不可见的,您可以像这样过滤掉大小为零的行:
ggplot(df, aes(x=x, y=y, size=s)) +
geom_point(data = df[df$s != 0,]) +
scale_size_area()
推荐阅读
- vue.js - Vuejs热重载无法读取未定义的属性'Ctor'
- amazon-web-services - 如何在 AWS Glue 上编写谓词表达式
- javascript - 更改下拉选择时更新状态 React
- css - 为什么在使用边框框时没有在内部应用填充
- javascript - 将两个输入值变为一个
- opentok - 确定远程订户是否暂时断开连接
- powershell - 远程 PowerShell 脚本的 Newby 问题
- javascript - Ajax 调用、函数回调、javascript
- ruby-on-rails - Rails - 安装 pg (1.1.3) 时出现 Gem 错误,并且 Bundler 无法继续
- c - 如何复制涉及C中指针的结构?