gpt4 book ai didi

r - 创建混合斜体和普通字体的轴值

转载 作者:行者123 更新时间:2023-12-01 03:32:00 26 4
gpt4 key购买 nike

我正在尝试创建一个图,其中轴值是类别名称,其中名称为斜体,后面是一些文本和括号内的数字。每个轴值的类别名称和编号都不同。例如,我会有“狗(宠物 1)”、“猫(宠物 2)”。我已经查看了许多其他示例来为轴的标签执行此操作,但没有查看 axis 的标签参数.我有点卡住了...

par(mar=c(5,8,1,1))
plot(NA, xlim=c(0,5), ylim=c(1,5), ylab="", xlab="", axes=F)
axis(1)
pet <- c("Dog", "Cat", "Goldfish", "Dog", "Rabbit")
number <- 1:5
formatted <- paste("italic(", pet, ")~(Pet ", number, ")", sep="")
axis(2, labels=sapply(formatted, as.expression), at=1:5, las=2)

我希望我很接近,因为结果图有 mathplot正确位置的语法(例如 italic(Dog)~(Pet 1) ),但它没有正确呈现。

当我在没有 sapply 的情况下这样做时调用它提示标签数量和 at 值之间不匹配。

当我这样做时 axis(2, labels=parse(text=formatted), at=1:5, las=2)然后我得到
Error in parse(text = formatted) : 
<text>:1:18: unexpected numeric constant
1: italic(Dog)~(Pet 1
^

建议?

最佳答案

更改 formatted到列表并使用 bquote .然后,您可以通过 do.call 评估表达式列表。 .

par(mar=c(5,8,1,1))
plot(NA, xlim=c(0,5), ylim=c(1,5), ylab="", xlab="", axes=F)
axis(1)
pet <- c("Dog", "Cat", "Goldfish", "Dog", "Rabbit")
number <- 1:5
formatted <- lapply(1:5, function(i) bquote(paste(italic(.(pet[i]))~"(Pet", .(number[i]), ")", sep="")))
axis(2, labels=do.call(expression, formatted), at=1:5, las=2)

另一个问题可能是您不需要粘贴中的表达式函数调用 ( italic ) 周围的引号。

关于r - 创建混合斜体和普通字体的轴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37364278/

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