【问题标题】:How to transform data to better see points on graph (at 0,0)如何转换数据以更好地查看图形上的点(在 0,0 处)
【发布时间】:2021-06-07 11:54:47
【问题描述】:

我正在尝试在 r 中绘制图表以显示血液和组织样本中的不同丰度。 (即,如果血液(蓝色)或组织(绿色)或两者(黑色)中存在某种东西,则为彩色。

但是,这意味着蓝色点位于 (x,0) 线上,因为它们在组织中没有丰度,反之亦然。有没有一种方法可以转换我的数据以更分散地分布点,以便我可以在图表上更好地看到它们?

我使用的代码是:

plot(data$x, data$y, col=data$sample_colour, xlab="Blood", ylab="Tissue")

【问题讨论】:

  • 你使用的代码是什么?看来首先你必须减少你的 y 轴间隔
  • 我已经用我使用的代码更新了帖子,并减少了 y 轴
  • 您可以进行对数转换并在对数刻度上绘图。您是否将数据中的“
  • 请注意,在我的评论中,我假设实验室使用方法检测限 (MDL)。他们可能会使用其他约定。见en.wikipedia.org/wiki/Detection_limit

标签: r plot graph transform


【解决方案1】:

你可以尝试这样的事情来刻画情节:

library(ggplot2)

df <- data.frame(blood = runif(100),
                 tissue = runif(100),
                 color = 0)

zeros <- rbinom(100, 1, 0.5)
df$blood <- df$blood * zeros
zeros <- rbinom(100, 1, 0.5)
df$tissue <- df$tissue * zeros

df$color <- ifelse(df$tissue == 0 & df$blood > 0, "blood only",
                   ifelse(df$tissue > 0 & df$blood == 0, "tissue only", "both"))

ggplot(df, aes(x = tissue, y = blood)) +
    geom_point(aes(color = color)) +
    facet_grid(~color)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多