![](/img/trans.png)
[英]Modifying X-axis in R's Sciplot package to include both italics and non-italics text
[英]how to italics and non-italics the part of y axis labels
我正在使用 ggplot2 制作一個 plot ,其中物種名稱為 y 軸標簽,例如:
data_1 <- data.frame(
name = c("1_Enterococcus faecalis_ab1", "3_Bifidobacterium longum_ab2", "5_Bifidobacterium breve_ab12"),
value = c(1, 3, 5)
)
data_2 <- data.frame(
name = c("1_Enterococcus faecalis_ab1", "3_Bifidobacterium longum_ab2", "5_Bifidobacterium breve_ab12"),
value = c(3, 5, 3)
)
ggplot()+geom_point(data=data_1,aes(x=value,y=name))+geom_point(data=data_2,aes(x=value,y=name))
我想在 y 標簽中制作斜體物種名稱,如 1_ Enterococcus faecalis _ab1。 我看到R ggplot2 在同一類別中使用斜體和非斜體 label的答案,但仍然無法做到。
有什么想法嗎? 謝謝
我們可以使用ggtext
方法
library(dplyr)
library(ggtext)
library(stringr)
library(ggplot2)
data %>%
mutate(name = str_replace(name, "(\\d+)_([^)]+)_(.*)$", "\\1_*\\2*_\\3")) %>%
ggplot(aes(value, name)) +
geom_point() +
theme(axis.text.y = element_markdown())
library(ggtext)
library(tidyverse)
data %>%
separate(name, c("num", "binomial", "label"), sep = "_") %>%
mutate(name_fmt = paste0(num, "_*", binomial, "*_", label)) %>%
ggplot(aes(x=value,y=name_fmt)) + geom_point() +
theme(axis.text.y = element_markdown())
編輯 - 如果您有兩個格式相似的表格,最簡單的方法是綁定它們並將格式化代碼應用於該表格:
bind_rows(data_1, data_2, .id = "src") %>%
separate(name, c("num", "binomial", "label"), sep = "_") %>%
mutate(name_fmt = paste0(num, "_*", binomial, "*_", label)) %>%
ggplot(aes(x=value,y=name_fmt, color = src)) + geom_point() +
theme(axis.text.y = element_markdown())
如果結構不同,我建議將格式分別應用於兩個數據表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.