2017-06-21 157 views
0

我制作了一个高轮图书馆的饼图。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

您需要在tooltip选项中使用具有highcharter的JS()函数的格式化程序。此外,Highchart使用'this.point.percentage'来提供百分比。确保不要在第一行末尾忘记%>%。通过将线(再次magrittr '%>%' 行之前或之后需要)

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)

hc_plotOptions(pie =list(dataLabels = list(enabled = TRUE,format="{point.label}:{point.y}")))

这应该为你做的伎俩

您可以在标签上添加数值或通过与{point.y}交换:

{point.percentage:.2f}%,您可以将百分比与标签一起添加(男,Felame)

+0

有没有方法显示标签中的标称值或百分比,而工具提示中的另一个? – Prometheus

+1

@Prometheus:是:通过 'hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,format =“{point.label}:{point.y}”)))' 您可以在点之间进行交换。 y用'point.percentage:.2f'来获取% – NpT