我用highcharter库制作了一个饼图。
library(highcharter)
test_data
Gender Freq colors
1 Female 29813 #ff99cc
2 Male 38474 #2980b9
hchart(test_data, "pie", hcaes(x = Gender, y = Freq, color=colors))
由于地图是互动的,我希望饼图在同一图上显示百分比值和名义值 。
我有什么想法可以做到这一点?
答案 0 :(得分:4)
您需要在工具提示选项中使用带有highcharter的JS()函数的格式化程序。此外,Highchart使用'this.point.percentage'来提供百分比。确保不要忘记第一行末尾的%>%
。
这应该适合你:
hchart(test_data, "pie", hcaes(x = Gender, label=Gender,y = Freq, color=colors))%>%
hc_tooltip(formatter = JS("function(){
return '<b>' + this.point.label + ': </b>( Frequency:' +this.y+', Percentage: '+Highcharts.numberFormat(this.percentage)+'%)'
}"),useHTML = FALSE)
通过添加该行(再次在行之前或之后需要magrittr'%&gt;%'):
hc_plotOptions(pie =list(dataLabels = list(enabled = TRUE,format="{point.label}:{point.y}")))
您可以在标签上添加值,或者将{point.y}
与:
{point.percentage:.2f}%
,您可以添加百分比以及标签(男性,Felame)
答案 1 :(得分:0)
hchart(test_data, "pie", hcaes(x = Gender, y = Freq, color=colors)) %>%
hc_tooltip(pointFormat = "<b>Value:</b> {point.y} <br>
<b>Percentage</b> {point.percentage:,.2f}%")