繁体   English   中英

如何 plot 长传说与 ggplot2

[英]How to plot long legends with ggplot2

我想 plot 在图表底部的多条折线图的长图例。 如果不使用较小的图例字体,我该如何做到这一点? 以下示例使用 6 条线,但我也使用了更多线的图形。

library(tidyverse)
df <- tibble(d = c(1,1,2,2,3,3,4,4,5,5,6,6),
             name = c("long long long long long text 1",
                      "long long long long long text 1",
                      "long long long long long text 2",
                      "long long long long long text 2",
                      "long long long long long text 3",
                      "long long long long long text 3",
                      "long long long long long text 4",
                      "long long long long long text 4",
                      "long long long long long text 5",
                      "long long long long long text 5",
                      "long long long long long text 6",
                      "long long long long long text 6"),
             year = c(2010, 2011, 2010, 2011, 2010, 2011, 2010, 2011,
                      2010, 2011, 2010, 2011),
             value = c(0.1,0.2,0.3,0.4,0.5,0.6,0.6,0.5,0.4,0.3,0.2,0.1))

ggplot(data = df, aes(x = year, y = value)) +
  geom_line(aes(color = name, linetype = name), size = 1) +
  geom_point(aes(shape = name, color = name), size = 2) +
  theme_bw() +
  theme(axis.text.x=element_text(size=rel(1.5), angle=90),
        axis.text.y=element_text(size=rel(1.5)),
        legend.title=element_blank(),
        legend.text=element_text(size=rel(1.5)),
        legend.position = "bottom",
        axis.line = element_line(color = 'black'),
        panel.border = element_blank(),
        panel.background = element_blank(),
        panel.grid.major.x = element_blank(),
        panel.grid.minor.x = element_blank()) +
  scale_x_continuous(breaks=seq(2010, 2011, by = 1)) +
  labs(
    title = "Chart title",
    x = NULL,
    y = "No."
  ) +
  ylim(0, 1)

使用guide function 控制行数或列数:

p + scale_color_discrete(guide = guide_legend(ncol = 1))

其中p是您上面的绘图代码。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM