Javascript 使用R在Highcharter中添加标志
我试图用R中的highcharter库复制上面的图。 我将此用作API参考[https://codepen.io/pen/] 这是我的数据的dput()Javascript 使用R在Highcharter中添加标志,javascript,html,r,highcharts,data-visualization,Javascript,Html,R,Highcharts,Data Visualization,我试图用R中的highcharter库复制上面的图。 我将此用作API参考[https://codepen.io/pen/] 这是我的数据的dput() dput(country_totals2) structure(list(country_name = c("Norway", "United States", "Germany", "Canada", "Austria"), level =
dput(country_totals2)
structure(list(country_name = c("Norway",
"United States", "Germany", "Canada", "Austria"), level = c("Total",
"Total", "Total", "Total", "Total"), `Total net production` = c(69212.347,
81967.627, 571799.713, 551685.823, 280234), Imports = c(21635.908,
11573.411, 31701.359, 12826.095, 47179), Exports = c(4308.347,
25480.503, 80187.327, 76094.985, 3270), `Energy absorbed by pumping` = c(1347.901,
1372.884, 8347.706, 7331.317, 2233), `Energy supplied` = c(85192.007,
66687.651, 514966.039, 481085.616, 321910)), row.names = c(NA,
-5L), class = c("tbl_df", "tbl", "data.frame"))
下面是我的R代码-
highchart() %>%
hc_chart(type = "column",
inverted = TRUE,
polar = TRUE) %>%
hc_plotOptions(column = list(stacking = "normal")) %>%
hc_xAxis(categories= list('Norway <span class="f16"><span id="flag" class="flag no">' ,
'United States <span class="f16"><span id="flag" class="flag us">' ,
'Germany <span class="f16"><span id="flag" class="flag de">' ,
'Canada <span class="f16"><span id="flag" class="flag ca">' ,
'Austria <span class="f16"><span id="flag" class="flag at">' ,
'</span></span>')) %>%
hc_yAxis( tickLength = 0,
gridLineColor = 'transparent'
) %>%
hc_xAxis( tickLength = 0,
gridLineColor = 'transparent'
)%>%
hc_add_series( data = country_totals2$Imports) %>%
hc_add_series( data = country_totals2$Exports) %>%
hc_add_series(data = country_totals2$`Energy absorbed by pumping`) %>%
hc_add_theme(hc_theme_ffx())
highchart()%>%
hc\U图表(type=“column”,
颠倒的=正确的,
极坐标=真)%>%
hc\U绘图选项(列=列表(堆叠=“正常”))%>%
hc_xAxis(类别=列表(“挪威”),
"美国",,
“德国”,
“加拿大”,
“奥地利”,
'')) %>%
hc_yAxis(tickLength=0,
gridLineColor='透明'
) %>%
hc_xAxis(tickLength=0,
gridLineColor='透明'
)%>%
hc_添加_系列(数据=国家_总计2美元进口量)%>%
hc\U add\U系列(数据=国家/地区2美元出口总额)%>%
hc\U add\U系列(数据=国家/地区2$`泵吸能量`)%>%
hc\U添加主题(hc\U主题\U ffx())
代码工作正常,但“hc_xAxis
”命令中指示的国旗未出现
如何在
hc\u xAxis
命令中修改JS/HTML代码,使标志显示在R中?原始极轴条形图可用。深入研究代码,您可以找到以下关于flag服务的行:
<!-- Flag sprites service provided by Martijn Lafeber,
https://github.com/lafeber/world-flags-sprite/blob/master/LICENSE -->
<link rel="stylesheet" href="https://github.com/downloads/lafeber/world-flags-sprite/flags16.css" />
当然,我已经把它添加到问题中了
library(highcharter)
library(purrr)
library(htmlwidgets)
library(htmltools)
country_totals2 <- structure(list(country_name = c("Norway",
"United States", "Germany", "Canada", "Austria"), level = c("Total",
"Total", "Total", "Total", "Total"), `Total net production` = c(69212.347,
81967.627, 571799.713, 551685.823, 280234), Imports = c(21635.908,
11573.411, 31701.359, 12826.095, 47179), Exports = c(4308.347,
25480.503, 80187.327, 76094.985, 3270), `Energy absorbed by pumping` = c(1347.901,
1372.884, 8347.706, 7331.317, 2233), `Energy supplied` = c(85192.007,
66687.651, 514966.039, 481085.616, 321910)), row.names = c(NA,
-5L), class = c("tbl_df", "tbl", "data.frame"))
p <- highchart() %>%
hc_chart(type = "column",
inverted = TRUE,
polar = TRUE) %>%
hc_plotOptions(column = list(stacking = "normal")) %>%
hc_xAxis(categories= c("Norway","United States","Germany","Canada","Austria"),
labels=list(useHTML=TRUE,
formatter = JS("function() {
return {
'Norway': 'Normay <span class=\x22 f16\x22><span class=\x22 flag no \x22></span></span> ',
'United States': 'United States <span class=\x22 f16\x22><span class=\x22 flag us \x22></span ></span> ',
'Germany': 'Germany <span class=\x22 f16\x22><span class=\x22 flag de \x22></span ></span> ',
'Canada': 'Canada <span class=\x22 f16\x22><span class=\x22 flag ca \x22></span ></span> ',
'Austria': 'Austria<span class=\x22 f16\x22><span class=\x22 flag at\x22></span ></span> '
}[this.value];
}")
)
) %>%
hc_yAxis( tickLength = 0,
gridLineColor = 'transparent'
) %>%
hc_xAxis( tickLength = 0,
gridLineColor = 'transparent'
)%>%
hc_add_series( data = country_totals2$Imports) %>%
hc_add_series( data = country_totals2$Exports) %>%
hc_add_series(data = country_totals2$`Energy absorbed by pumping`) %>%
hc_add_theme(hc_theme_ffx())
prependContent(p, HTML('<link rel="stylesheet" href="https://github.com/downloads/lafeber/world-flags-sprite/flags16.css" />'))