反向Y轴散点图

时间:2020-06-16 21:55:35

标签: r ggplot2 reverse transformation scatter-plot

我想使用以下数据绘制散点图,其中X轴使用minimum.sptm,Y轴使用p.value

重点是,我想要-log(p.value)但显示p.value

structure(list(minimun.sptm = c(0, 0.05, 0.1, 0.15, 0.2, 0.25, 
0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 
0.9, 0.95, 1), p.value = c(0.217137180894596, 8.69138632923479e-06, 
5.19743435092154e-13, 2.86015251354523e-14, 5.51211423760726e-30, 
1.06397214811093e-34, 3.15922010250516e-36, 1.54383374085175e-36, 
3.17487635201757e-36, 1.65512592209202e-36, 2.19511495850264e-36, 
1.39210307866501e-36, 1.55834678312407e-35, 7.23531845274866e-34, 
9.6298173273593e-34, 2.05019326670673e-34, 6.9030663073707e-32, 
1.33364294302178e-32, 1.26879586574242e-28, 9.22917969013045e-37, 
3.31136440476303e-06)), row.names = c(NA, -21L), class = c("tbl_df", 
"tbl", "data.frame"))

我尝试过:

tt %>% 
  ggplot(
    aes(
      x= minimun.sptm, 
      y = p.value
    )
  ) +
  geom_point() +
  scale_y_continuous(trans = "log") +
  theme_classic() +
  theme(axis.text.x = element_text(angle=-45))

而且,正如我所料,我得到了:
enter image description here

但是我想反转Y轴,但找不到合适的功能。 我尝试了scale_y_continuous(trans = "-log"),但没有用。

我也尝试过:

tt %>% 
  ggplot(
    aes(
      x= minimun.sptm, 
      y = p.value
    )
  ) +
  geom_point() +
  scale_y_continuous(trans = "log") +
  scale_y_reverse() +
  theme_classic() +
  theme(axis.text.x = element_text(angle=-45))

我得到了错误:

“ y”的比例已经存在。为“ y”添加另一个比例,它将替换现有比例。

另一种尝试是:

tt %>% 
  ggplot(
    aes(
      x= minimun.sptm, 
      y = p.value
    )
  ) +
  geom_point() +
  scale_y_log10() +
  scale_y_reverse() +
  theme_classic() +
  theme(axis.text.x = element_text(angle=-45))

这也没用。

enter image description here

感谢您的帮助

0 个答案:

没有答案