将ggplot图形转换为带有ggplotly
的图形图形时,我可以获得一些HTML,例如标题:
library(plotly)
library(ggplot2)
library(scales)
library(mvtnorm)
sims <- rmvnorm(500, mean=c(0,0,0))
dat <- setNames(data.frame(sims), c("x", "y", "z"))
dat$z <- dat$x+dat$y
gg <- ggplot(dat, aes(x=x, y=y, colour=z)) +
geom_point() +
scale_colour_gradient2(limits=c(-2,2), midpoint=0, low=muted("blue"), high=muted("red")) +
ggtitle("<em>hello</em>")
ggplotly(gg)
标题<em>hello</em>
按预期显示为斜体。
但是当我想要一封HTML希腊字母时,这不起作用:
gg <- ggplot(dat, aes(x=x, y=y, colour=z)) +
geom_point() +
scale_colour_gradient2(limits=c(-2,2), midpoint=0, low=muted("blue"), high=muted("red")) +
ggtitle("Δ")
ggplotly(gg)
如何将Δ
渲染为预期的希腊字母?
我正在使用plotly_4.5.2
和ggplot2_2.1.0
。
答案 0 :(得分:2)
这适用于decimal character reference:
gg <- ggplot(dat, aes(x=x, y=y, colour=z)) +
geom_point() +
scale_colour_gradient2(limits=c(-2,2), midpoint=0, low=muted("blue"), high=muted("red")) +
ggtitle("Δ")
ggplotly(gg)
根据this comment on the Github repo, plotly.js最近删除了广义的HTML实体解码“。我不太明白,但可能是解释。
情节开发者现在已经删除了html十进制字符编码。作为解决方案,可以直接输入UTF-8字符,或使用intToUtf8
:
ggtitle("Δ")
ggtitle(intToUtf8(0x0394L))