Google विज़ुअलाइजेशन ICU Decimal Format का सबसेट का उपयोग करता है, जिसे DataView
या vAxis.format
के साथ सेट किया जा सकता है।
दुर्भाग्य से, उस सबसेट में 1,000 से विभाजित करने की क्षमता शामिल नहीं है। तो आपको पहले अपने डेटा में हेरफेर करने की आवश्यकता होगी। मान लें कि यह आपके डेटा है:
var data = google.visualization.arrayToDataTable([
['x', 'Data'],
['A', 123456],
['B', 234567],
['C', 456789],
['D', 890123],
['E', 789012],
['F', 789012],
['G', 890123],
['H', 456789],
['I', 234567],
['J', 345678],
['K', 345678],
['L', 345678],
['M', 123456],
['N', 123456]
]);
हम डेटा क्लोन करने के लिए, और उसके बाद 1000 से प्रत्येक बिंदु को विभाजित की जरूरत है।
var formattedData = data.clone();
for (var i = 0; i < formattedData.getNumberOfRows(); i++) {
var dataPoint = formattedData.getValue(i, 1);
formattedData.setValue(i, 1, dataPoint/1000);
}
हम तो इस चार्ट और के रूप में प्रारूप निर्धारित कर सकते हैं:: यहाँ करने के लिए एक आसान तरीका है vAxis: {format: "#,###k"}
- लेकिन वहाँ एक समस्या है। अब जब आप श्रृंखला को माउसओवर करते हैं, तो आप देखते हैं कि 890,123 890.123 के रूप में प्रदर्शित होता है! यह अच्छा नहीं है, तो हम है कि ठीक करने के लिए पाश के लिए एक और पंक्ति जोड़कर की जरूरत है:
var formattedData = data.clone();
for (var i = 0; i < formattedData.getNumberOfRows(); i++) {
var dataPoint = formattedData.getValue(i, 1);
formattedData.setValue(i, 1, dataPoint/1000);
formattedData.setFormattedValue(i, 1, dataPoint.toString());
}
इस डेटा 890,123 की तरह लग कर देगा, लेकिन साजिश के रूप में 890.123 इसलिए अक्ष अच्छा लगता है। यदि आप अल्पविराम जोड़ना चाहते हैं, तो ऐसे संसाधन हैं जैसे this और this यदि आप चाहें तो आप इसका उपयोग कर सकते हैं। मैं आपके डेटा प्रारूप को नहीं जानूंगा, इसलिए यदि आप हजारों विभाजक, या दशमलव, या जब भी आप माउस को चार्ट करते हैं तो मैं आपको उस हिस्से को अपने आप से बाहर कर दूंगा।
function drawVisualization() {
// Create and populate the data table.
var data = google.visualization.arrayToDataTable([
['x', 'Data'],
['A', 123456],
['B', 234567],
['C', 456789],
['D', 890123],
['E', 789012],
['F', 789012],
['G', 890123],
['H', 456789],
['I', 234567],
['J', 345678],
['K', 345678],
['L', 345678],
['M', 123456],
['N', 123456]
]);
// Clone data and divide by 1,000 in column 1
var formattedData = data.clone();
for (var i = 0; i < formattedData.getNumberOfRows(); i++) {
var dataPoint = formattedData.getValue(i, 1);
formattedData.setValue(i, 1, dataPoint/1000);
formattedData.setFormattedValue(i, 1, dataPoint.toString());
}
// Create and draw the visualization.
new google.visualization.LineChart(document.getElementById('visualization')).
draw(formattedData, {curveType: "function",
width: 500, height: 400,
vAxis: {format: "#,###k"}}
);
}
यह केवल "एनोटेटेड टाइम लाइन" के मामले में प्रतीत होता है, मैं लाइन और बार चार्ट का उपयोग कर रहा हूं। – ewooycom