2012-07-18 13 views
7

मैं jqplot का उपयोग कर रहा हूं jqplot.PieRenderer को पाई चार्ट को आज़माने और प्रदर्शित करने के लिए। लेबल पर मैं value (percent) दिखाना चाहता हूं। प्रलेखन का कहना है कि आप dataLabel लेबल प्रकारों की एक सरणी (source) पास कर सकते हैं, हालांकि, %d%% (प्रतिशत के लिए) (मान के लिए) dataLabelFormatString विकल्प में कुछ भी नहीं दिखाते हैं।जेकप्लॉट शो प्रतिशत और पाई चार्ट पर मूल्य

कोई विचार यहाँ है?

{ 
    seriesDefaults: { 
     renderer: jQuery.jqplot.PieRenderer, 
     rendererOptions: { 
      showDataLabels: true, 
      dataLabels: ['value', 'percent'], 
      dataLabelFormatString: "%d %d%%", 
      sliceMargin: 4, 
      fill: false 
     } 
    }, 
    legend: { show:true, location: 'e' } 
} 

उत्तर

18

मैंने उन दस्तावेज़ों को थोड़ा अलग तरीके से पढ़ा। यह विकल्प 'मान', 'प्रतिशत', 'लेबल' या लेबल की एक सरणी है। विकल्पों की एक सरणी नहीं है। जो भी आप चाहते हैं उसे करने के लिए आपको लेबल के वास्तविक सरणी के रूप में अपने डाटलबेल बनाने की आवश्यकता होगी।

उदाहरण के लिए:

data = [ 
    ['Heavy Industry', 12],['Retail', 9], ['Light Industry', 14], 
    ['Out of home', 16],['Commuting', 7], ['Orientation', 9] 
]; 

var total = 0; 
$(data).map(function(){total += this[1];}) 

myLabels = $.makeArray($(data).map(function(){return this[1] + " " + Math.round(this[1]/total * 100) + "%";})); 

देखें उदाहरण बेला here

+0

आपको बहुत बहुत धन्यवाद! काश मैं इसके लिए आपको एक से अधिक प्रतिनिधि दे सकता हूं। – Snuffleupagus

+0

आपका स्वागत है। – Mark

+0

उत्कृष्ट - मुझे दस्तावेज़ों के साथ थोड़ा उलझन में मिला और विकल्पों की एक सरणी को लागू करने का प्रयास किया - आपने इसे हल किया - सुपर धन्यवाद। – YonoRan

0

उपयोग

formatter: function(label, series){ 
         return '<div style="font-size:14pt;text-align:center;padding:2px;color:white;">'+Math.round(series.percent)+"%<br/>" + series.data[0][1] +'</div>'; 
        }, 
संबंधित मुद्दे