मेरे पास पृष्ठ पर कई AmStockCharts हैं। वे रेखा ग्राफ हैं। जेएसओएन प्रारूप में डेटा MySQL डीबी से प्राप्त किया जाता है। यदि उपयोगकर्ता ग्राफ़ डॉट (बुलेट) पर क्लिक करता है तो एक फॉर्म दिखाया जाता है जहां उपयोगकर्ता डेटा को संशोधित कर सकता है और इसे सहेज सकता है। इस मामले में मुझे चार्ट को फिर से निकालना होगा और मैं इसे समझ नहीं सकता। मैं सभी चार्ट ठीक से तैयार हो जाओरेड्रो एमस्टॉक चार्ट
//drawing all charts there are
var chart;
$.getJSON('stats.php', function (data) { // get all data from all stats at once
var i=0;
for (chartData in data) {
i++;
chart = new AmCharts.AmStockChart();
var dataSet = new AmChart.DataSet();
dataSet.dataProvider = chartData;
// etc. etc. here are all the single graph parameters
$('#stats').append('<div id="chartdiv' + i + '"></div>');
chart.write("chartdiv" + i);
}
});
:
यहाँ कोड का टुकड़ा है। लेकिन यहां दो समस्याएं हैं। पहली समस्या है कि मैं उन्हें बाद में 'चार्ट' चर के रूप में एक्सेस नहीं कर सकता क्योंकि केवल खींचे गए अंतिम चार्ट को संदर्भित करता है। दूसरी समस्या यह है कि अगर मैं इस अंतिम चार्ट को फिर से निकालने का प्रयास करता हूं तो मुझे कोई परिणाम नहीं मिलता है।
function chart_redraw(stat) {
$.getJSON('stat.php?redraw=' + stat, function (data) { // get data for one particular stat
var dataSet = new AmCharts.DataSet();
dataSet.dataProvider = data;
...
chart.dataSets = [dataSet];
var stockPanel = new AmChart.StockPanel();
stockPanel.validateData();
chart.panels = [stockPanel];
chart.validateNow();
});
कि कुछ भी नहीं किया है, यानी चार्ट फिर से तैयार नहीं प्राप्त करता है:
चार्ट मैं निम्नलिखित की कोशिश की है पुनः बनाने के लिए।
function chartClick (event) {
var chartdiv = event.event.target.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id
$('#chart_n').val(chartdiv);
...
}
और फिर इसका इस्तेमाल उस जगह पर है कि div और टोकरा नया एक से चार्ट दूर करने के लिए:
केवल एक चीज मैं कर सकता द्वारा क्लिक करें घटना पर एक छिपा इनपुट में चार्ट div स्टोर करने के लिए है लेकिन यह बहुत धीमा है तो validateData() होगा।
ठीक है, मैं पूरी चीज नहीं बना सका लेकिन मैंने दो डेटा स्रोतों के साथ एक सरल कोड बनाया जो माना जाता है कि एक बटन पर क्लिक किया जाता है, फिर भी ग्राफ को दोबारा खींचा जाना चाहिए, लेकिन ऐसा नहीं होता है। यहां यह है: http://jsfiddle.net/33SDv/2/ – user164863
आपको चार्ट.माइनडेटासेट = डेटासेट भी सेट करना चाहिए; क्योंकि यह पिछले डेटा सेट को याद करता है और इसका उपयोग करता है। – zeroin