R:使用Plotly在饼图中下标

时间:2017-12-03 14:08:41

标签: r plotly pie-chart

我试图用R Plotly包绘制一些空气污染物数据。到目前为止,我能够做到这一点。

library(plotly)
val <- c(10, 12,4, 16, 8)
ap <- c("NO2", "PM10", "PM2.5", "NOx", "SO2")
plot_ly(labels = ~ap, values = ~val, type = 'pie',
        textposition = 'inside',
        textinfo = 'label')

Output

我想改进这个饼图。我想展示&#39; 10&#39;在PM10中作为下标并编写&#34;自定义文本&#34;标签旁边。我的预期结果:PM[10] (47%)等等。有人在意解释如何实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

以下是如何在plotly中设置下标和自定义悬停文本的示例:

library(plotly)
val <- c(10, 12,4, 16, 8)
ap <- c("NO<sub>2</sub>", "PM<sub>10</sub>", "PM<sub>2.5</sub>", "NO<sub>x</sub>", "SO<sub>[2]</sub>")

对于下标,您需要先添加<sub>,然后在文本后添加</sub>

通过在text调用

中定义plot_ly参数来获取自定义悬停
plot_ly(labels = ~ap, values = ~val, type = 'pie',
        hoverinfo = 'text',
        text = ~paste0(val *100/sum(val), '%'),
        textposition = 'inside',
        textinfo = 'label')

如果没有悬停时需要更改标签:

plot_ly(labels = ~paste(ap, paste0('[', val *100/sum(val), '%]')),
        values = ~val, type = 'pie',
        textposition = 'inside',
        textinfo = 'label')

enter image description here