gpt4 book ai didi

r - 用 R 中的 latex 注释 ggplot2 人脸标签

转载 作者:行者123 更新时间:2023-12-02 00:52:28 26 4
gpt4 key购买 nike

给定一个样本数据集:

size = 10000
dist = seq(0, 10, length.out=size)
cohort.kv = list(A=3,B=40,C=44)
cohort = sample(names(cohort.kv), size, TRUE)
cohort.v = mapply(function(v) cohort.kv[[v]], cohort)
across.kv = list(ONE=1,TWO=2,THREE=3)
across = sample(names(across.kv), size, TRUE)
across.v = mapply(function(v) across.kv[[v]], across)
along.kv = list(FIVE=5, EIGHT=8, ELEVEN=11)
along = sample(names(along.kv), size, TRUE)
along.v = mapply(function(v) along.kv[[v]], along)
df = data.frame(
dist=dist, cohort=cohort, across=across, along=along,
value=sin(dist/across.v+cohort.v)*along.v
)
df$across = factor(df$across, levels=names(across.kv))
df$along = factor(df$along, levels=names(along.kv))

我正在尝试将 latex 添加到刻面标签中。 This answer解释了如何将 latex 添加到 ggplot 标签。下面的代码在轴标签中生成一个带有 latex 的分面 ggplot,并修改了分面标签。
library(ggplot2)
# install.packages("latex2exp", dependencies=TRUE)
library(latex2exp)
(
ggplot(df, aes(x=dist, y=value, color=cohort))
+ geom_line()
+ facet_grid(
rows=vars(across),
cols=vars(along),
labeller=labeller(
across=c(ONE="UNO",TWO="DOS",THREE="TRES"),
along=c(FIVE=TeX("$V_5$"),EIGHT=TeX("$V_8$"),ELEVEN=TeX("$V_11$"))
)
)
+ xlab(TeX("Distance ($\\delta$)"))
+ ylab(TeX("Intensity ($\\alpha$)"))
)

Plot result

线路 along=c(FIVE=TeX("$V_5$"),EIGHT=TeX("$V_8$"),ELEVEN=TeX("$V_11$"))应该更改顶部的顶部刻面标签,但事实并非如此。

如何在面部标签上添加 latex ?

最佳答案

我相信有更好的方法可以做到这一点,但一种方法是更改​​级别:

levels(df$across) <- c(ONE="UNO", TWO="DOS", THREE="TRES")
levels(df$along) <- c(FIVE = TeX("$V_5$"), EIGHT = TeX("$V_8$"), ELEVEN = TeX("$V_{11}$"))

然后将 label_parsed 用于贴标机:
ggplot(df, aes(x=dist, y=value, color=cohort)) +
geom_line() +
facet_grid(
rows=vars(across),
cols=vars(along),
labeller=label_parsed
) +
xlab(TeX("Distance ($\\delta$)")) +
ylab(TeX("Intensity ($\\alpha$)"))

label_parsed 将标签解释为 plotmath 表达式。

关于r - 用 R 中的 latex 注释 ggplot2 人脸标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com