如何在R语言leaflet绘图图例中设置上下标?
Leaflet图例标题添加上下标解决方案
Leaflet是基于Web的可视化工具,它的图例标题采用HTML渲染逻辑,而非base R绘图系统的expression语法,所以直接用expression不会生效。要实现上下标效果,需借助HTML的<sup>(上标)或<sub>(下标)标签,配合htmltools::HTML()函数解析文本。
解决步骤:
- 加载
htmltools包,该包提供HTML文本解析功能 - 将图例标题用
HTML()包裹,在需要设置上下标的位置用对应HTML标签标记
修改后的完整可运行代码:
library(leaflet) library(mapview) library(htmltools) # 新增加载该包 palB <- colorNumeric('Blues', seq(1,14, by = 2)) leaflet() %>% addProviderTiles('CartoDB.Positron') %>% addCircleMarkers(data = breweries, color = ~palB(number.of.types)) %>% addLegend(pal = palB, values = breweries$number.of.types, title = HTML("size (m<sup>2</sup>)")) # 用HTML函数和sup标签实现上标
运行代码后,图例标题里的m2会显示为m²。如果需要下标效果,只需把<sup>替换为<sub>即可,比如m<sub>2</sub>会显示为m₂。
内容的提问来源于stack exchange,提问作者Blaiso
相关产品推荐
相关产品推荐

