ggplot2 - 在栏中的标签后添加下标
ggplot2 - add subscript after label in bar
我正在尝试在条形图中的另一个标签(数字)之后添加一个标签(名词)(如下例)。它适用于普通文本(在示例中创建像 Value2 这样的列),但如果我需要下标,它就不起作用。
我尝试了一些使用“bquote”和“expression”的解决方法,但没有弄明白。这个想法是让 GHG 变量中的数字在图中显示为下标(CO[2]、CH[4] 和 N[2]O)。
有什么见解吗?下面的简单工作示例
GHG = c("CH4", "CO2", "N2O")
Value = c(10, 5, 2)
Value2 = c("10 - CH4", "5 - CO2", "2 - N2O")
df = data.frame(GHG, Value, Value2)
g1 = ggplot(data=df, aes(x=GHG, y=Value)) +
geom_bar(stat="identity") +
geom_text(data=df, aes(label = Value2, y= Value, hjust=-0.1), size=4) +
xlab ("") +
ylab ("") +
coord_flip() +
scale_y_continuous(limits=c(0,11)) +
theme(text=element_text(family="serif", size=15, colour="black")) +
theme(axis.text.x=element_text(size=15, colour = "black")) +
easy_remove_y_axis()
g1
一种方法是使用 ggtext
包,您可以在其中使用 <sub>
和 <sup>
标签。
library(ggplot2)
library(ggtext)
library(ggeasy)
GHG = c("CH4", "CO2", "N2O")
Value = c(10, 5, 2)
Value2 = c("10 - CH<sub>4</sub>", "5 - CO<sub>2</sub>", "2 - N<sub>2</sub>O")
df = data.frame(GHG, Value, Value2)
ggplot(data=df, aes(x=GHG, y=Value)) +
geom_col() +
geom_richtext(aes(label = Value2, hjust=-0.1), size=4) +
xlab ("") +
ylab ("") +
coord_flip() +
scale_y_continuous(limits=c(0,11)) +
theme(text=element_text(family="serif", size=15, colour="black")) +
theme(axis.text.x=element_text(size=15, colour = "black")) +
easy_remove_y_axis()
我正在尝试在条形图中的另一个标签(数字)之后添加一个标签(名词)(如下例)。它适用于普通文本(在示例中创建像 Value2 这样的列),但如果我需要下标,它就不起作用。
我尝试了一些使用“bquote”和“expression”的解决方法,但没有弄明白。这个想法是让 GHG 变量中的数字在图中显示为下标(CO[2]、CH[4] 和 N[2]O)。
有什么见解吗?下面的简单工作示例
GHG = c("CH4", "CO2", "N2O")
Value = c(10, 5, 2)
Value2 = c("10 - CH4", "5 - CO2", "2 - N2O")
df = data.frame(GHG, Value, Value2)
g1 = ggplot(data=df, aes(x=GHG, y=Value)) +
geom_bar(stat="identity") +
geom_text(data=df, aes(label = Value2, y= Value, hjust=-0.1), size=4) +
xlab ("") +
ylab ("") +
coord_flip() +
scale_y_continuous(limits=c(0,11)) +
theme(text=element_text(family="serif", size=15, colour="black")) +
theme(axis.text.x=element_text(size=15, colour = "black")) +
easy_remove_y_axis()
g1
一种方法是使用 ggtext
包,您可以在其中使用 <sub>
和 <sup>
标签。
library(ggplot2)
library(ggtext)
library(ggeasy)
GHG = c("CH4", "CO2", "N2O")
Value = c(10, 5, 2)
Value2 = c("10 - CH<sub>4</sub>", "5 - CO<sub>2</sub>", "2 - N<sub>2</sub>O")
df = data.frame(GHG, Value, Value2)
ggplot(data=df, aes(x=GHG, y=Value)) +
geom_col() +
geom_richtext(aes(label = Value2, hjust=-0.1), size=4) +
xlab ("") +
ylab ("") +
coord_flip() +
scale_y_continuous(limits=c(0,11)) +
theme(text=element_text(family="serif", size=15, colour="black")) +
theme(axis.text.x=element_text(size=15, colour = "black")) +
easy_remove_y_axis()