2012-03-12 19 views
118

गूगल चार्ट

// Load the Visualization API and the piechart package. 
 
google.load('visualization', '1.0', {'packages':['corechart']}); 
 

 
// Set a callback to run when the Google Visualization API is loaded. 
 
google.setOnLoadCallback(drawChart); 
 

 
// Callback that creates and populates a data table, 
 
// instantiates the pie chart, passes in the data and 
 
// draws it. 
 
function drawChart() { 
 

 
    // Create the data table. 
 
    var data = new google.visualization.DataTable(); 
 
    data.addColumn('string', 'Topping'); 
 
    data.addColumn('number', 'Slices'); 
 

 
    var myData = { 
 
    'Mushrooms': 3, 
 
    'Onions': 1, 
 
    'Olives': 1, 
 
    'Zucchini': 1, 
 
    'Pepperoni': 2 
 
    }; 
 

 
    var rows = []; 
 
    for (element in myData) { 
 
     rows.push([element + " (" + myData[element] + ")", myData[element]]) 
 
    } 
 
    data.addRows(rows); 
 

 
    // Set chart options 
 
    var options = {'title':'How Much Pizza I Ate Last Night', 
 
       'width':450, 
 
       'height':300}; 
 

 
    // Instantiate and draw our chart, passing in some options. 
 
    var chart = new google.visualization.PieChart(document.getElementById('chart_div')); 
 
    chart.draw(data, options); 
 
}
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
 

 
<div id="chart_div"></div>

Example fiddle

मैं इस उदाहरण में गद्दी या मार्जिन कैसे निकालूँ से गद्दी या मार्जिन निकालना चाहते हैं?

+0

यदि कोई सही ठहराना चाहता है क्योंकि आपके पास लाइन चार्ट के बाईं ओर माप है, 'चार्ट एरिया: {चौड़ाई: '70%', बाएं: '30% '} ने मेरे लिए चाल की है। स्रोत: https://code.google.com/p/google-visualization-api-issues/issues/detail?id=857#c5 – IsmailS

उत्तर

203

API documentation में सूचीबद्ध कुछ कॉन्फ़िगरेशन विकल्पों को जोड़कर और ट्यून करके, आप कई अलग-अलग शैलियों को बना सकते हैं। उदाहरण के लिए, here is a version कि chartArea.widthके लिए 100% और chartArea.height80% को स्थापित करने और ले जाकर अतिरिक्त रिक्त स्थान के सबसे को हटा लिए legend.positionनीचे करने के लिए:

// Set chart options 
var options = {'title': 'How Much Pizza I Ate Last Night', 
       'width': 350, 
       'height': 400, 
       'chartArea': {'width': '100%', 'height': '80%'}, 
       'legend': {'position': 'bottom'} 
    }; 

आप इसे धुन चाहते हैं अधिक, इन मानों को बदलने या ऊपर दिए गए लिंक से अन्य गुणों का उपयोग करने का प्रयास करें।

55

मुझे बहुत देर हो चुकी है लेकिन इसके लिए कोई भी उपयोगकर्ता इसे खोज सकता है। विकल्पों के अंदर आप चार्ट एरिया नामक एक नया पैरामीटर पारित कर सकते हैं।

 var options = { 
     chartArea:{left:10,top:20,width:"100%",height:"100%"} 
    }; 

बाएं और शीर्ष विकल्प बाएं और ऊपर से पैडिंग की मात्रा को परिभाषित करेंगे। उम्मीद है कि यह मदद करेगा।

+0

chartArea.top ने मेरे गतिशील आकार के div के लिए चाल की है। धन्यवाद। – Blamkin86

11

इस संभावना like Aman Virk mentioned है:

var options = { 
    chartArea:{left:10,top:20,width:"100%",height:"100%"} 
}; 

लेकिन ध्यान रखें कि गद्दी और मार्जिन वहाँ आपको परेशान करने के लिए नहीं कर रहे हैं में रहते हैं। यदि आपके पास कॉलम चार्ट और लंबवत कॉलम वाले विभिन्न प्रकार के चार्टों के बीच स्विच करने की संभावना है तो आपको उन पंक्तियों के लेबल प्रदर्शित करने के लिए कुछ मार्जिन चाहिए।

यदि आप उस मार्जिन को दूर करते हैं तो आप लेबल का केवल एक हिस्सा या कोई लेबल नहीं दिखाएंगे।

तो यदि आपके पास सिर्फ एक चार्ट प्रकार है तो आप मार्जिन और पैडिंग को बदल सकते हैं जैसे अरमान ने कहा। लेकिन अगर स्विच करना संभव है तो उन्हें न बदलें।

36

मैं इस मुद्दे के साथ ज्यादातर लोगों की तरह यहां पहुंचा, और इस बात से चौंक गया कि कोई जवाब भी दूरस्थ रूप से काम नहीं करता है।

रुचि किसी के लिए, यहाँ वास्तविक समाधान है:

... //rest of options 
width: '100%', 
height: '350', 
chartArea:{ 
    left:5, 
    top: 20, 
    width: '100%', 
    height: '350', 
} 
... //rest of options 

कुंजी यहाँ कुछ भी नहीं "छोड़" या "टॉप" मूल्यों से कोई लेना देना नहीं है। बल्कि यह है कि:

दोनों चार्ट और चार्ट-क्षेत्र की

आयाम सेट और एक ही मूल्य

करने के लिए सेट मेरा उत्तर के लिए एक संशोधन के रूप में कर रहे हैं। उपर्युक्त वास्तव में "अत्यधिक" पैडिंग/मार्जिन/व्हाइटस्पेस समस्या को हल करेगा।हालांकि, अगर आप में अक्ष लेबल और/या एक किंवदंती शामिल करना चाहते हैं तो आपको चार्ट क्षेत्र की ऊंचाई & चौड़ाई को कम करने की आवश्यकता होगी ताकि बाहरी चौड़ाई/ऊंचाई से थोड़ा कुछ कम हो। यह चार्ट एपीआई को "बताएगा" कि इन गुणों को प्रदर्शित करने के लिए पर्याप्त जगह है। अन्यथा यह खुशी से उन्हें बाहर कर देगा।

+5

यह सही उत्तर है .... –

+2

मेरे उत्तर में एक संशोधन के रूप में। यह वास्तव में "अत्यधिक" पैडिंग/मार्जिन/व्हाइटस्पेस समस्या को हल करेगा। हालांकि, यदि आप अक्ष लेबल और/या एक किंवदंती शामिल करना चाहते हैं तो आपको चार्ट क्षेत्र की ऊंचाई और चौड़ाई को कम करने की आवश्यकता होगी ताकि बाहरी चौड़ाई/ऊंचाई से थोड़ा कुछ कम हो। यह चार्ट एपीआई को "बताएगा" कि इन गुणों को प्रदर्शित करने के लिए पर्याप्त जगह है। अन्यथा यह खुशी से उन्हें बाहर कर देगा। – pimbrouwers

+0

मुझे लगता है कि अन्य समाधान आपके लिए काम नहीं करते हैं, शायद वे मानते हैं कि चार्ट को डीआईवी में डाला जा रहा था, जिसमें पहले से ही चौड़ाई और ऊंचाई विशेषताओं की प्रीसेट थी, लेकिन आपने ऐसा नहीं किया था। एचटीएमएल में ऊंचाई और चौड़ाई को पूर्व निर्धारित करना एक अच्छा विचार है ताकि ग्राफ भरने पर पेज का लेआउट बदल न जाए। इससे चीजों को लोड होने पर पेज पर "चारों ओर कूदने" से रोका जा सकता है। –

10

यह डॉक्स में ग़ायब हैं (मैं संस्करण 43 का उपयोग कर रहा है), लेकिन आप वास्तव में सही और नीचे चार्ट क्षेत्र की संपत्ति का उपयोग कर सकते हैं:

var options = { 
    chartArea:{ 
    left:10, 
    right:10, // !!! works !!! 
    bottom:20, // !!! works !!! 
    top:20, 
    width:"100%", 
    height:"100%" 
    } 
}; 

तो यह पूरा उपयोग करना संभव है उत्तरदायी चौड़ाई & ऊंचाई और किसी धुरी लेबल या किंवदंतियों को फसल होने से रोकें।

+0

सही उपयोग करने में सक्षम होने के नाते निश्चित रूप से एक अच्छा जोड़ा है, हालांकि कॉलम चार्ट के मामले में जो लंबवत धुरी के लिए संख्या की आवश्यकता होती है, जब यह मान एक अच्छा बिट में उतार-चढ़ाव होता है - उदाहरण के लिए 0 से लेकर मान वाले मान वाले चार्ट - 100 को 20 पिक्सल के बाएं मान की आवश्यकता होगी, लेकिन 0 - 10 मिल को 100 पिक्सल की आवश्यकता होगी, और 100 पिक्सेल का उपयोग करके एक काफी बड़ा मार्जिन छोड़ दिया जाएगा जो मुझे लगता है कि हम सभी इससे छुटकारा पाने की कोशिश कर रहे हैं :) जब तक एक विकल्प है जो चार्ट को अपनी चौड़ाई समायोजित करने की अनुमति देता है जो मुझे याद आ रही है। इस पर कोई विचार कैसे हल हो सकता है? – user3800174

+0

ऐसा लगता है कि उन्होंने इसे अक्टूबर 2, 2015 को दस्तावेज किया था: http://archive.is/lwbQY#selection-2997.0-3011.1 –

संबंधित मुद्दे