繁体   English   中英

ggplot facet_wrap用斜体

[英]ggplot facet_wrap with italics

我有一个正在绘制的数据集,其面包含变量(在玩具数据集中-2种物种的密度)。 我需要使用实际的变量名来做2件事:1)斜体显示物种名称,以及2)在n / m2中正确标上2(或ASCII编辑,以较容易者为准)。

类似,但是我似乎无法使其适用于我的情况。

玩具数据

library(ggplot2)
df <- data.frame(x = 1:10, y = 1:10, 
 z = rep(c("Species1 density (n/m2)", "Species2 density (m/m2)"), each = 5),
 z1 = rep(c("Area1", "Area2", "Area3", "Area4", "Area5"), each = 2))

ggplot(df) + geom_point(aes(x = x, y = y)) + facet_grid(z1 ~ z)

尝试天真地使用答案中的代码时出现错误(未找到变量z)。 如何在构面中包含2个变量?

稍作修改即可从您的链接中获取代码以进行工作。 我已经更改了代码,以使用data_frame停止将字符向量转换为一个因子,并从代码中取出了公共信息,以便可以通过标签添加它(否则,将一半的文本设为斜体会很麻烦)

library(tidyverse)
df <- data_frame(
        x = 1:10,
        y = 1:10, 
        z = rep(c("Species1", "Species2"), each = 5),
        z1 = rep(c("Area1", "Area2", "Area3", "Area4", "Area5"), each = 2)
      )

ggplot(df) + 
  geom_point(aes(x = x, y = y)) + 
  facet_grid(z1 ~ z, labeller = label_bquote(col = italic(.(z))~density~m^2))

暂无
暂无

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

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