与ggplotly的HTML希腊字母

时间:2016-10-24 17:08:08

标签: r ggplot2 plotly

将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)

enter image description here

标题<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("&Delta;")

ggplotly(gg)

enter image description here

如何将&Delta;渲染为预期的希腊字母?

我正在使用plotly_4.5.2ggplot2_2.1.0

1 个答案:

答案 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("&#916;")
ggplotly(gg)

根据this comment on the Github repo plotly.js最近删除了广义的HTML实体解码“。我不太明白,但可能是解释。

更新2017-08-25

情节开发者现在已经删除了html十进制字符编码。作为解决方案,可以直接输入UTF-8字符,或使用intToUtf8

ggtitle("Δ")
ggtitle(intToUtf8(0x0394L))