2017-06-21 166 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