【问题标题】:R -Smoothscatter plot curve and diagonal axisR - 平滑散点图曲线和对角轴
【发布时间】:2020-11-20 18:56:15
【问题描述】:

我有文件来自想要绘制使用 R 的平滑散点图。绘图必须有点、对角轴和一条曲线,因为我有公式,我正在创建平滑散点图但无法绘制对角线和曲线任何建议和帮助将不胜感激

https://drive.google.com/file/d/1KknqYcRBCGm8Xrj1XKh3mE7rb7LK9iny/view?usp=sharing

我尝试过的

对角轴

df$P0+df$P2 =1

曲线

p2 = (√df$P0 − 1)^2
df=read.table("scale_out",sep='\t', header=TRUE)
df = data.frame(df)
smoothScatter(df$P0,df$P2, cex=10)

我得到了什么

我想要什么

谢谢

【问题讨论】:

  • 你的 p2 方程是错误的,当 p0 = 0 时,p2 = -2。还有什么是图上点的分散。实际数据点都落在红线之后的一条线上。沿蓝线或红线下方没有点。
  • @dcarlson 抱歉我的错误,它的平方不是乘法,p0 =0 将变为 1
  • @dcarlson 用于图上点的分散,我们可以使用第一列 df$genename 中的一组值。一个链接包含想要的点 (drive.google.com/file/d/1CMVhyH5_54XGF1cMY2yX5tRwmCeGyJRy/…))

标签: r scatter-plot


【解决方案1】:

数据似乎并不包含您认为它包含的内容。

例如,如果我们只绘制 P0 和 P2 的直线图,我们会得到:

plot(df$P0, df$P2, pch = 18, cex = 0.5)

您在问题中显示的所需图表明这应该是噪声数据的散点图,但事实并非如此。如果我们将数据框中的所有数值变量相互绘制,我们会得到:

这里唯一看起来像正确形状散点图的图是P0B.prop

假设这是您想要的,您可以像这样创建所需的情节:

smoothScatter(df$P0, df$B.prop, cex = 2, xlab = "P0", ylab = "P2")
curve((sqrt(x) - 1)^2, 0, 1, lty = 2, lwd = 5, col = "red", add = TRUE)
lines(0:1, 1:0, lty = 2, lwd = 5, col = "deepskyblue4")
legend(0.35, 1, c("Coordination", "Independence"), 
       col = c("deepskyblue4", "red"), bg = "#FFFFFFAA", 
       lty = 2, lwd = 5, box.col = "#FFFFFF00")

【讨论】:

  • 感谢您的宝贵回复回答了我的问题,我将再次查看我的数据,您能告诉我是否可以在蓝线和红曲线附近获得点。
猜你喜欢
  • 2014-08-17
  • 1970-01-01
  • 2018-01-10
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多