簡體   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