highcharter名义和百分比值

时间:2017-06-21 15:21:09

标签: r highcharts pie-chart

我用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))

由于地图是互动的,我希望饼图在同一图上显示百分比值和名义值

我有什么想法可以做到这一点?

2 个答案:

答案 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}%")