r - 使用条件“大小”参数在 R 中绘制 z 变量
问题描述
我想在 R 中创建一个散点图,其中第三个“z”变量根据它们的值范围绘制在不同大小的点中。
df
这是我拥有的数据框:
mean.temp mean.lfk LKZ
v3 24.33958 69.43333 12.5
v7 25.80208 67.76250 53.3
v8 26.24583 66.85000 12.5
v11 21.52917 42.59375 35.0
v13 23.96042 66.92917 20.0
v14 24.16042 66.74375 56.7
v15 26.88542 69.69583 10.0
v16 26.45417 72.37292 56.7
v17 24.92708 64.59375 6.7
v18 25.77391 65.64348 3.3
v21 23.11290 71.37419 0.5
我想使用mean.temp
和mean.lfk
沿 x 和 y 轴,但我不想实际绘制它们的值。相反,我想绘制LKZ
为“z”变量。的不同值LKZ
应通过不同大小的点来可视化,即0.5
最小的点和56.7
最大的点。
我并没有走得太远,只得到了这段显然不起作用的代码,如下图所示:
plot(df$mean.temp, df$mean.lfk, pch = paste(df$LKZ))
关于如何使用 R 基础图形获得我想要的任何想法?
解决方案
绘图参数cex
控制字符的大小。由于您的尺寸范围为 100 倍,因此在下面的示例中,我将点尺寸与 LKZ 的平方根成比例。此外,较大的点会遮盖较小的点,因此我为这些点添加了一些透明度,以便您可以看到它们。
plot(df[,1:2], pch=16, cex=sqrt(df$LKZ), col="#00000044",
xlim=c(21,27), ylim=c(40,75))
数据
df = read.table(text=" mean.temp mean.lfk LKZ
v3 24.33958 69.43333 12.5
v7 25.80208 67.76250 53.3
v8 26.24583 66.85000 12.5
v11 21.52917 42.59375 35.0
v13 23.96042 66.92917 20.0
v14 24.16042 66.74375 56.7
v15 26.88542 69.69583 10.0
v16 26.45417 72.37292 56.7
v17 24.92708 64.59375 6.7
v18 25.77391 65.64348 3.3
v21 23.11290 71.37419 0.5",
header=TRUE)
推荐阅读
- javascript - React Native:为什么组件引用未定义?
- python - 总 .npz 文件的大小比单个元素大得多
- javascript - Javascript检测窗口内的点击区域并关闭元素
- java - 从 for(Particle p:particle) 循环中的 ArrayList 中删除元素
- python - 复制和粘贴输入的问题 - 粘贴的输入仅采用第一个值
- java - 创建一个中位数数组。爪哇
- rabbitmq - Windows Server 2016 上的 RabbitMQ 无法识别 rabbitmq.conf
- java - WebFlux:如何使用 takeUntilOther() 方法?
- javascript - NextJS SSR 可以与 Apollo 客户端一起使用吗?在第一次加载页面时检查“查看页面源代码”时,我看不到我的 HTML
- git - Jenkins通过Git Plugin(Remote Repo Bitbucket)拉取子模块时报告权限失败