首页 > 解决方案 > 传说上方的传说铭文

问题描述

我有一个相当具体的问题,我目前正在寻找解决方案,但找不到。

我想用 ggplot 创建一个图例,其中图例的标题低于图例 - 我不知道如何更好地解释它。我相信以下图片会有所帮助:

我希望传奇是怎样的:

在此处输入图像描述

传说是如何流行的:

在此处输入图像描述

我最后通过背景上的cowplot(draw_plot)绘制了情节,因此也可以在图表(draw_text)上“人为地”绘制图例。但是,我必须设法在文本下划线 - 并使用正确的线型(见下图)。这实际上是我的首选变体——但我不知道它是如何工作的。

我为您提供了情节和背景角色的代码。

我很想知道是否有人可以找到解决方案!:)

感谢你并致以真诚的问候


整体图:

在此处输入图像描述


ggplot 代码(缩短):

colors <- c("#ff9a00","#ff9a00")

PlotLine <- ggplot(pp, aes(x, y, color = id, linetype = id))+
  theme(legend.direction="horizontal"
  )+
  geom_path(size=1.25) +
  scale_x_datetime(date_labels = "%Y", breaks = scales::pretty_breaks(n = 3), expand = expansion(mult = c(0.02, 0.03)))+
  scale_color_manual(labels = paste("<span style='color:",
                                    colors,
                                    "'>",
                                    unique(c(Nutzer1, Nutzer2)),
                                    "</span>"),
                     values = colors)+
  scale_linetype_manual(labels = paste("<span style='color:",
                                       colors,
                                       "'>",
                                       unique(c(Nutzer1, Nutzer2)),
                                       "</span>"),
                        values=c("solid","dotted"))+
  xlab("")+
  ylab("")+
  theme(axis.text.x = element_text(size= 10, colour = "black", margin = margin(t = 10, b = -5)))+
  theme(axis.text.y = element_blank(), legend.text = element_markdown(size = 8))+
  labs(color=' ',linetype=' ')

牛图代码(缩写):

Ausgabe <- ggdraw() + draw_plot(PlotLine, width = 0.6, height = 0.18, x = 0.345, y = 0.094)


线图的数据:

“Nutzer1”和“Nutzer2”的变量可以用任何东西填充。遗憾的是,引用的数据框“pp”太长而无法导出和发布。但我想任何虚拟数据都应该这样做;)

标签: rggplot2cowplot

解决方案


在你scale_color_manual()添加一个关于“指南”的参数:

 scale_color_manual(labels = paste("<span style='color:",
                                    colors,
                                    "'>",
                                    unique(c(Nutzer1, Nutzer2)),
                                    "</span>"),
                     values = colors,
                     guide = guide_legend(
                             direction = "horizontal",
                             label.position = "top"))

这将指定您的标签应位于键的顶部,而不是默认的右侧。


推荐阅读