मैं विंडो आकार बदलने पर Google लाइनचार्ट को फिर से/पुन: सहेज सकता हूं?खिड़की का आकार बदलने पर Google चार्ट रीड्रा/स्केल
उत्तर
केवल जब विंडो आकार परिवर्तन पूरा हो गया है पुनः बनाने और कई चलाता बचने के लिए, मुझे लगता है कि बेहतर एक ईवेंट बनाते हैं:
//create trigger to resizeEnd event
$(window).resize(function() {
if(this.resizeTO) clearTimeout(this.resizeTO);
this.resizeTO = setTimeout(function() {
$(this).trigger('resizeEnd');
}, 500);
});
//redraw graph when window resize is completed
$(window).on('resizeEnd', function() {
drawChart(data);
});
यह सही है! – rikpg
गूगल द्वारा मूल कोड बस अंत में इस करता है:
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
एक छोटे जावास्क्रिप्ट के साथ यह बदल रहा है आप इसे पैमाने पर कर सकते हैं जब खिड़की का आकार बदलता है:
function resize() {
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
window.onload = resize;
window.onresize = resize;
यह उल्लेखनीय हो सकता है कि जब आप AJAX पर "डेटा" प्राप्त करते हैं, तो प्रत्येक विंडो पर XHTTPRequest को ट्रिगर करना 'चरण' का आकार आपके सर्वर पर थोड़ा तनावपूर्ण हो सकता है, मुझे लगता है कि किसी भी तरह से AJAX अनुरोध के परिणामों को कैश करना बेहतर होगा और उस डेटा का पुन: उपयोग करें, लेकिन आपका समाधान मेरे लिए काम करता है! +1 –
मेरे लिए काम नहीं कर रहा था, फिर से ड्राइंग से पहले div से पुरानी rezults हटाने की जरूरत है: $ ('# chart_div') खाली(); –
'window.onload = आकार बदलें();' आकार बदलने के बराबर है(); window.onload = अपरिभाषित; ' –
को पुन: आरेखित/rescale एक गूगल विंडो आकार बदलने पर लाइनचार्ट:
$(document).ready(function() {
$(window).resize(function(){
drawChart();
});
});
चूंकि window.resize
घटना आग लगती है प्रत्येक आकार बदलने की घटना पर कई बार, मेरा मानना है कि सबसे अच्छा समाधान smartresize.js का उपयोग करना है और smartdraw()
का उपयोग करना है। यह चार्ट रेड्रा की प्रति window.resize
की संख्या को सीमित करता है।
प्रदान की js का उपयोग कर आप इस रूप में के रूप में बस इसे कर सकते हैं:
// Instantiate and draw our user charts, passing in some options (as you probably were doing it)
var chart = new google.visualization.LineChart(document.getElementById('div_chart'));
chart.draw(data, options);
// And then:
$(window).smartresize(function() {
chart.draw(data, options);
});
मिस्पेल "ओशन" -> "विकल्प" –
यह सबसे आसान तरीका मैं सर्वर से बहुत अधिक तनाव पैदा करने के बिना ऐसा करने का काम कर सकते हैं है:
var chart1 = "done";
$(window).resize(function() {
if(chart1=="done"){
chart1 = "waiting";
setTimeout(function(){drawChart();chart1 = "done"},1000);
}
});
चार्ट रीलोड होने से पहले यह 1 सेकंड प्रतीक्षा करता है और फ़ंक्शन को इस प्रतीक्षा अवधि में फिर से कॉल नहीं करने देता है। जैसे ही विंडो आकार बदलने के कार्यों को कई बार कहा जाता है जब भी आप विंडो आकार बदलते हैं, इससे प्रत्येक बार जब आप खिड़की के आकार को बदलते हैं तो फ़ंक्शन केवल वास्तव में काम करने में मदद करता है, बाकी कॉल अगर कथन द्वारा रुक जाती हैं।
मुझे आशा है कि इस मदद करता है
इसकी सादगी के लिए उत्कृष्ट। – MastaBaba
करने के लिए गूगल विज़ुअलाइज़ेशन API में कोई विकल्प नहीं है Google चार्ट उत्तरदायी बनाओ।
लेकिन हम Google चार्ट को उत्तरदायी बना सकते हैं क्योंकि खिड़की का आकार बदलता है। Google चार्ट उत्तरदायी बनाने के लिए एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त GitHub - jquery-smartresize पर jQuery लाइब्रेरी उपलब्ध है, जिसमें विंडो आकार बदलने की घटना पर ग्राफ का आकार बदलने की क्षमता है।
jquery.debouncedresize.js: adds a special event that fires once after the window
has been resized.
&
jquery.throttledresize.js: adds a special event that fires at a reduced rate (no
more double events from Chrome and Safari).
यहाँ उत्तरदायी चार्ट के दो उदाहरण हैं ...
- Responsive Google Pie Chart -:
- Responsive Google Bar Chart
GitHub पर इस परियोजना को दो स्क्रिप्ट फ़ाइलें है
हम चार्ट के वांछित पहलू अनुपात से मिलान करने के visualization_wrap के नीचे गद्दी बदल सकते हैं।
Calculate as Height/Width x 100
For a 16x9 display it would be 9/16 = 0.5625 x 100 = 56.25%
For a square it'd be 100%
हम सुनिश्चित करना है कि लेबल करते हो आकार बदलने पर कटने नहीं Google चार्ट की chartarea विकल्प अनुकूलित कर सकते हैं।
मैं व्यक्तिगत रूप से, निम्नलिखित दृष्टिकोण पसंद करते हैं, तो आपको addEventListener उपयोग करने के साथ रह सकते हैं, और IE के लिए setTimeout()
और clearTimeout()
कार्यों के उपयोग के समर्थन की कमी कोई आपत्ति नहीं है < 9.
var windowResizeTimer;
window.addEventListener('resize', function(e){
clearTimeout(windowResizeTimer);
windowResizeTimer = setTimeout(function(){
chart.draw(data, options);
}, 750);
});
नोट और 750 मिलीसेकंड की अतिरिक्त देरी, जो इसे थोड़ा कम गहन बनाता है जब कई उत्तराधिकारी घटनाएं त्वरित उत्तराधिकार में आग लगती हैं (जो माउस का उपयोग करते समय डेस्कटॉप पर ब्राउज़र के लिए अक्सर होता है)।
टैगो कास्त्रो की उत्तर का उपयोग करना, मैं प्रदर्शन दिखाने के लिए एक लाइन चार्ट लागू किया है।
google.load('visualization', '1', {
packages: ['corechart', 'line']
});
google.setOnLoadCallback(drawBackgroundColor);
function drawBackgroundColor() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'X');
data.addColumn('number', 'Compute Time');
data.addColumn('number', 'Compute Times');
console.log("--");
data.addRows([
[0, 0, 0],
[10, 10, 15],
[20, 20, 65]
]);
console.log(data);
var options = {
height: 350,
legend: {
position: 'bottom'
},
hAxis: {
title: 'Nb Curves'
},
vAxis: {
title: 'Time (ms)'
},
backgroundColor: '#f1f8e9'
};
function resize() {
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
window.onload = resize();
window.onresize = resize;
}
<script src='https://www.google.com/jsapi'></script>
<div id="chart_div">
- 1. FullCalendar - आकार बदलने खिड़की पर कैलेंडर का आकार बदलने के
- 2. खिड़की का आकार बदलने पर div को रोकें
- 3. jQuery यूआई आकार बदलने योग्य आग खिड़की का आकार बदलें
- 4. खिड़की के आकार का आकार बदलना
- 5. Jquery चिनाई: खिड़की का आकार बदलने तक गलत गटर
- 6. ब्राउज़र का आकार बदलते समय jqplot चार्ट का आकार बदलें
- 7. खिड़की का आकार बदलना Win32
- 8. विंडो आकार बदलने पर कलरबॉक्स का आकार बदलें
- 9. खिड़की का आकार बदलने पर stellar.js तत्व ऑफसेट को समायोजित कर सकते हैं?
- 10. Google चार्ट
- 11. Google चार्ट
- 12. आकार बदलने पर Win32 GUI झिलमिलाहट
- 13. विंडो आकार बदलने पर छवि मानचित्र का आकार बदलें
- 14. विंडो आकार बदलने पर ग्रिडपेनल ऑटो का आकार
- 15. आकार बदलने पर Google क्रोम पर ट्विटर बूटस्ट्रैप "हिचकी" क्यों करता है?
- 16. Google चार्ट एपीआई - पाई चार्ट स्ट्रोक विकल्प
- 17. दोनों जेएफआरएएम पर आकार बदलने और रोकने का रोकथाम?
- 18. सी # छवि का आकार बदलने का आकार फ़ाइल आकार
- 19. खिड़की का आकार बदलने पर पैन में से किसी एक का आकार बदलने के लिए मैं स्प्लिटपेन से कैसे बच सकता हूं?
- 20. सर्वर पर Google चार्ट को कैसे सहेजें
- 21. Google चार्ट लाइन चार्ट घंटे और मिनट
- 22. Google चार्ट एपीआई स्टाइल टूलटिप्स
- 23. QLabel आकार बदलने का पाठ
- 24. जावास्क्रिप्ट Google बार चार्ट
- 25. Google चार्ट - पॉपअप
- 26. Google चार्ट एपीआई
- 27. Google कॉलम चार्ट
- 28. एक Google चार्ट Django
- 29. Google पाई चार्ट
- 30. Google चार्ट उपकरण - स्टैक्ड बार चार्ट
यह वास्तव में एक दृश्य एपीआई की सुविधा में बनाया गया होना चाहिए! –