【问题标题】:Creating a second legend for abline为 abline 创建第二个图例
【发布时间】:2021-06-07 21:06:55
【问题描述】:

我在 ggplot 中有一个绘图,并且我添加了一个 abline 以显示在多次校正后显着性截止的位置,但该线的图例并未与显示我的变量域的第一个图例分开显示。相反,它只是在每个域的键上绘制一条虚线。我想要第二个带有黑色虚线的框,标题为“FDR 阈值”,我不希望第一个图例框的颜色值被黑色虚线填充。

  geom_abline(aes(slope=0,intercept=-log10(c(var)[astsa::FDR(c(var))]),lty='FDR Correction'), 
              linetype = "dashed", show.legend = TRUE)+

【问题讨论】:

标签: r ggplot2 data-visualization visualization


【解决方案1】:

我相信这可以通过在“aes”中映射 abline 线型来实现,从而创建一个图例。我使用scale_linetype_manual 将虚线分配给名为“图例”的类别。

library(ggplot2)
ggplot(mtcars, aes(wt, mpg, color = as.character(gear))) +
  geom_point() +
  geom_abline(aes(intercept = 10, slope = 3, linetype = "threshold")) +
  scale_linetype_manual(values = c("threshold" = "dashed"))

【讨论】:

  • 谢谢,当我尝试实现这个howevr时我得到一个错误:strwidth错误(legend,units =“user”,cex = cex,font = text.font):plot.new有还没有被调用还有没有办法从线型更改图例标题或将其删除?
  • 试试scale_linetype_manual(values = c("threshold" = "dashed"), name = NULL)
  • 您的错误看起来与文本层有关,您确定它是相关的吗?
  • 还有很多其他的代码我没有在这里添加,因为我认为它不相关,完全可能是文本层问题。该脚本可能以奇怪的方式进行交互。我注意到根据代码中某些行的位置,它会改变情节或被忽略。
猜你喜欢
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多