通过表达式生成时如何在ggplot2中对齐标题和字幕

康拉德

我正在使用以下代码在中生成一个简单的箱形图ggplot2

# Libs data
data("mtcars"); require(ggplot2); require(ggthemes)
# Chart
ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)),
               fill = "gray87") +
  xlab("AM") +
  ylab("WT") +
  theme_gdocs() +
  ggtitle("WT by AM") +
  theme(axis.title.y = element_text(angle = 90),
        axis.ticks = element_line(colour = "black", linetype = "solid",
                                  size = 0.5),
        panel.grid = element_line(colour = "gray"))

生成的图表非常简单: 第一张图表

任务

我想在图表中添加字幕,并对其呈现方式进行一些控制。我正在关注此讨论并使用代码:

# Chart
ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)),
               fill = "gray87") +
  xlab("AM") +
  ylab("WT") +
  theme_gdocs() +
  ggtitle(expression(atop("WT by AM", 
                          atop(italic("Some crucial note that has to be here"), "")))) +
  theme(axis.title.y = element_text(angle = 90),
        axis.ticks = element_line(colour = "black", linetype = "solid",
                                  size = 0.5),
        panel.grid = element_line(colour = "gray"))

我得到以下图表: 第二次尝试


这看起来真的很糟糕,我想更改一些内容:

  1. 使字幕标题左对齐
  2. 减少两行之间的空白
  3. 保持字体为粗体

尝试次数

我尝试了其他事情,例如下面的代码:

ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)),
               fill = "gray87") +
  xlab("AM") +
  ylab("WT") +
  theme_gdocs() +
  ggtitle(expression(atop("WT by AM", 
                          atop(italic("Stupid note"), "")))) +
  theme(axis.title.y = element_text(angle = 90),
        axis.ticks = element_line(colour = "black", linetype = "solid",
                                  size = 0.5),
        panel.grid = element_line(colour = "gray"),
        plot.title = element_text(size = 16, colour = "black", hjust = -1))

但它完全隐藏了标题:

标题缺失

C8H10N4O2

在“这很愚蠢,但可以使用”文件中,您可以在中心右侧添加空格以强制向左对齐。可以使用数学确定正确的空格数,但是我看不到如何将字符串变量传递回atop

# Chart
ggplot(data = mtcars) +
  geom_boxplot(aes(y = wt, x = as.factor(am)), fill = "gray87") +
  xlab("AM") + ylab("WT") + theme_gdocs() +
  ggtitle(expression(atop("WT by AM                            ", 
                          atop(italic("Some crucial note that has to be here"), "")))) +
  theme(axis.title.y = element_text(angle = 90),
        axis.ticks = element_line(colour = "black", linetype = "solid", size = 0.5),
        panel.grid = element_line(colour = "gray"))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用“表达式”在ggplot2轴文本中制作特殊字符时的文本对齐

ggplot2:将多行图例标题与数学表达式对齐

在ggplot2字幕的plotmath表达式中包括条件元素

在ggplot2表达式中混合使用表达式,纯文本和换行符

如何在要在 ggplot2 图形中使用的表达式()中包含带有保存文本的对象?

在ggplot2和facet_wrap中具有表达式的as_labeller

在ggplot2输出中组合希腊语和表达式

ggplot2中的数学表达式注释问题

ggplot2构面标签中的表达式

ggplot2标题和字幕之间的线

不在列表视图中显示字幕时如何在列表项中对齐标题

在ggplot2标题表达式中将italic()与变量一起使用

将ggplot2中的图例标题和图例键居中对齐以获取长图例标题

如何在Rstudio中的ggplot2中添加主标题和操纵轴标签

如何在单个ggplot2中对齐图层(密度图和垂直线)

如何在ggplot中向标签添加表达式

使用表达式时,ggplot右对齐轴文本

如何在ggplot2中显示obs的方向(标题)

如何在ggplot2中更改Y轴的标题?

GGPLOT2 中的字幕

对齐水平ggplot条形图的标题,字幕和标题

如何将统计测试的结果作为 ggplot2 facet 中的 plotmath 表达式包含在内

如何在sympy中替换和简化表达式?

如何在正则表达式中匹配“ [”和“]”?

如何从字符向量中将表达式放入 ggplot 标题/标签/图例中?

如何将图例标题与ggplot2中的图例框的中间对齐?

ggplot2 facet_wrap与数学表达式

R / ggplot2:评估表达式内的对象

ggplot2 绘制数学表达式