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