我想做一个图,在其中一些图例标题中,我想引入一些Latex语法,但是输出不会产生预期的结果。
作为MWE,这是我使用的代码:
library(ggplot2)
library(latex2exp)
ggplot(data, aes(x = Debt, y = Gini_tra, colour = Gamma_param)) +
geom_line()+
scale_color_discrete(breaks = levels(df_tra$Gamma_param),
labels = c("Redistribution", "Egalitarian Tax", TeX("$\\gamma = 0.76$"), TeX("$\\gamma = 0.9$"), "Flat Tax"))
我希望从这段代码中看到γ=0.76
和γ=0.9
,但是我只会看到0.76
和0.9
。
我在这里做错了什么?
答案 0 :(得分:1)
我认为这是您正在寻找的解决方案:
library(ggplot2)
library(latex2exp)
df <- data.frame(value = rnorm(100, mean = 3),
group = as.factor(sample(c(1, 2),
size = 100, replace = T)))
ggplot(df , aes(x = value, y = value, colour = group)) +
geom_point() +
scale_color_hue(labels = unname(TeX(c("$\\gamma = 0.76$", "$\\gamma = 0.96$"))))
我的直白是这篇文章的第二个答案:
答案 1 :(得分:1)
我们还可以使用Base R中的expression
:
library(ggplot2)
ggplot(mtcars, aes(x = hp, y = disp, colour = as.factor(carb))) +
geom_line()+
scale_color_discrete(breaks = levels(as.factor(mtcars$carb)),
labels = c("Redistribution",
"Egalitarian Tax",
expression(gamma~"= 0.76"),
expression(gamma~"= 0.9"),
"Flat Tax",
"some label1")) +
theme(legend.text.align = 0)
输出: