इस दस्तावेज़ में, चार्ट का डेटा Google Chart API में भेजने का तरीका बताया गया है.
विषय सूची
खास जानकारी
करीब सभी चार्ट का डेटा, chd
पैरामीटर का इस्तेमाल करके भेजा जाता है.
डेटा
इनमें से किसी एक फ़ॉर्मैट में भेजा जाना चाहिए:
- बेसिक टेक्स्ट फ़ॉर्मैट 0 से लेकर 100 तक के फ़्लोटिंग पॉइंट नंबर होते हैं. ये दोनों शामिल हैं. इस फ़ॉर्मैट को हाथ से पढ़ना और लिखना आसान है.
- अपने-आप स्केलिंग वाला टेक्स्ट फ़ॉर्मैट, चार्ट को आपके डेटा के हिसाब से स्केल करता है.
- कस्टम स्केलिंग वाला टेक्स्ट फ़ॉर्मैट, बेसिक टेक्स्ट फ़ॉर्मैट जैसा ही होता है. हालांकि, इसकी मदद से दूसरे यूआरएल पैरामीटर का इस्तेमाल करके, कस्टम रेंज तय की जा सकती है.
- कोड में बदलने के आसान फ़ॉर्मैट की मदद से, 0 से 61 तक की पूर्णांक वैल्यू तय की जा सकती है. साथ ही, इन वैल्यू को कोड में बदलने के लिए, अक्षरों और अंकों से बना एक ही वर्ण इस्तेमाल किया जा सकता है. कोड में बदलने के इस तरीके से, किसी भी डेटा फ़ॉर्मैट (अगर कोई वैल्यू 9 से ज़्यादा है) की सबसे छोटी डेटा स्ट्रिंग बन जाती है.
- एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट की मदद से, 0 से 4095 तक के पूर्णांक वैल्यू तय की जा सकती हैं. इन वैल्यू में, अक्षर और अंक, दोनों शामिल होते हैं. एक्सटेंडेड एन्कोडिंग, उस चार्ट के लिए सबसे अच्छा विकल्प है जिसमें ज़्यादा डेटा और डेटा रेंज ज़्यादा हो.
डेटा वैल्यू को, इस्तेमाल किए गए फ़ॉर्मैट में फ़िट करने के लिए स्केल किया जाता है. चार्ट में फ़िट करने के लिए, डेटा में बदलाव कैसे किया जाता है, यह जानने के लिए डेटा स्केलिंग और ऐक्सिस स्केलिंग देखें.
हम डेटा को कोड में बदलने के आसान फ़ॉर्मैट या एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट में JavaScript स्निपेट की सुविधा देते हैं. इसके अलावा, Google चार्ट ग्रुप के कई सदस्यों ने फ़ॉर्मैटिंग में मदद करने के लिए दूसरी लाइब्रेरी का योगदान दिया है: संग्रह में जाकर उन्हें ढूंढें.
बेसिक टेक्स्ट फ़ॉर्मैट
बेसिक टेक्स्ट फ़ॉर्मैट वाले डेटा की मदद से, 0 से 100 तक की फ़्लोटिंग-पॉइंट वैल्यू तय की जा सकती है. इन वैल्यू को संख्या के तौर पर भी सेट किया जा सकता है. शून्य से कम वैल्यू को 'मौजूद नहीं' के तौर पर मार्क किया जाता है. 100 से ज़्यादा वैल्यू को छोटा करके 100 कर दिया जाता है. बेसिक टेक्स्ट फ़ॉर्मैट का फ़ायदा यह है कि यूआरएल में वैल्यू को आसानी से पढ़ा और समझा जा सकता है. साथ ही, डिफ़ॉल्ट ऐक्सिस लेबल डेटा की वैल्यू को सटीक तरीके से दिखाते हैं. हालांकि, टेक्स्ट फ़ॉर्मैटिंग (चाहे वह आसान हो या कस्टम पैरामीटर के साथ) की वजह से सभी फ़ॉर्मैट की सबसे लंबी डेटा स्ट्रिंग मिलती है.
अगर आपके डेटा में टेक्स्ट फ़ॉर्मैटिंग के लिए तय की गई सीमा से बाहर की वैल्यू शामिल हैं, तो अपने डेटा को स्केल करने के लिए, उसे डेटा की सबसे बड़ी वैल्यू के प्रतिशत में बदला जा सकता है. इसके अलावा, स्केलिंग को मैनेज करने के लिए, कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैटिंग का इस्तेमाल किया जा सकता है.
सिंटैक्स:
chd=t:val,val,val|val,val,val...
- <data>
- हर सीरीज़ में एक या उससे ज़्यादा ऐसी वैल्यू होती हैं जिन्हें कॉमा लगाकर अलग किया गया है. पाइप वर्ण (
|
) का इस्तेमाल करके एक से ज़्यादा सीरीज़ को अलग करें. वैल्यू 0 से 100 तक की फ़्लोटिंग-पॉइंट संख्याएं हैं. वैल्यू शून्य से कम है या अंडरस्कोर वर्ण ( _ ) को शून्य माना जाता है. अगर वैल्यू 100 से ज़्यादा है, तो इसे छोटा करके 100 कर दिया जाता है.
उदाहरण:
पांच वैल्यू वाली टेबल. अंडरस्कोर को शून्य वैल्यू माना जाता है. -30 की वैल्यू, सबसे कम वैल्यू से कम होती है. इसलिए, इसे छोड़ दिया जाता है और 200 की वैल्यू को घटाकर 100 कर दिया जाता है. | chd=t:_,30,-30,50,80,200 |
ऑटोमैटिक स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट
कुछ चार्ट को अपने-आप स्केल करने के लिए कॉन्फ़िगर किया जा सकता है, ताकि वे उनके डेटा में फ़िट हो सकें. चार्ट को इस तरह से स्केल किया जाएगा कि सबसे बड़ी वैल्यू, चार्ट में सबसे ऊपर रहे. वहीं, सबसे छोटी वैल्यू, अगर सभी वैल्यू शून्य से ज़्यादा हों, तो सबसे नीचे दिखेगी.
चार्ट पर दिखाई गई कोई भी मार्कर वैल्यू, स्केल की गई वैल्यू के बजाय, अपनी असल वैल्यू दिखाएंगी.
यह सुविधा, सिर्फ़ टेक्स्ट फ़ॉर्मैट वाली वैल्यू के साथ काम करती है. यह सभी तरह के चार्ट के साथ काम नहीं करती. अपने चार्ट टाइप के साथ एक्सपेरिमेंट करके देखें कि यह काम करता है या नहीं.
सिंटैक्स
cht=t:val,val,val... chds=a
उदाहरण:
ध्यान दें कि पाई चार्ट के लिए आपको पाई चार्ट के लिए < 0 वैल्यू का इस्तेमाल नहीं करना चाहिए. |
chd=t:-5,30,-30,50,80,200 |
कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट
कस्टम स्केलिंग वाले टेक्स्ट फ़ॉर्मैट की मदद से, स्केलिंग पैरामीटर के साथ आर्बिट्रेरी पॉज़िटिव या नेगेटिव फ़्लोटिंग पॉइंट नंबर बताए जा सकते हैं. इनकी मदद से, अपने चार्ट के लिए कस्टम रेंज तय की जा सकती है. यह चार्ट तब काम आता है, जब आपको अपने डेटा को किसी खास रेंज में सीमित करने की चिंता नहीं करनी है या डेटा को चार्ट में ठीक से फ़िट करने के लिए मैन्युअल तरीके से स्केल नहीं करना है. यह फ़ॉर्मैट, ज़रूरत के हिसाब से शून्य लाइन में बदलाव कर देगा. डेटा का फ़ॉर्मैट, बेसिक टेक्स्ट फ़ॉर्मैट जैसा ही होता है.
अपने-आप स्केल करने के लिए, chds=a
तय करें.
टेक्स्ट फ़ॉर्मैटिंग (चाहे वह आसान हो या कस्टम पैरामीटर के साथ) की वजह से, सभी फ़ॉर्मैट की सबसे लंबी डेटा स्ट्रिंग बनती है.
सिंटैक्स:
कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैटिंग के लिए दो पैरामीटर की ज़रूरत होती है:
chd=t:val,val,val|val,val,val chds=<series_1_min>,<series_1_max>,...,<series_n_min>,<series_n_max>
- chd=t:<data>
- सामान्य डेटा फ़ॉर्मैट की तरह: हर सीरीज़ में एक या एक से ज़्यादा ऐसी वैल्यू जिन्हें कॉमा लगाकर अलग किया गया है.
साथ ही, कई सीरीज़ को पाइप वर्ण (
|
) से अलग किया जाता है. हर सीरीज़ में स्वीकार की गई वैल्यू की रेंज,chds
पैरामीटर से तय की जाती है. - चेक-इन
- हर डेटा सीरीज़ के लिए, मान्य कम से कम और ज़्यादा से ज़्यादा वैल्यू का सेट,
जिसे कॉमा लगाकर अलग किया गया है. आपको ज़्यादा से ज़्यादा और एक मिनट, दोनों की वैल्यू डालनी होगी. अगर
डेटा सीरीज़ की तुलना में कम पेयर दिए जाते हैं, तो आखिरी जोड़ा
बाकी सभी डेटा सीरीज़ पर लागू किया जाता है. ध्यान दें कि इससे ऐक्सिस
की रेंज में बदलाव नहीं होता. ऐक्सिस की रेंज बदलने के लिए, आपको
chxr
पैरामीटर सेट करना होगा. वैल्यू की मान्य रेंज (+/-)9.999e(+/-)199 तक है. वैल्यू, स्टैंडर्ड या E नोटेशन में से किसी एक में दी जा सकती हैं.- <series_1_min>
- पहली सीरीज़ में, सबसे कम स्वीकार की जा सकने वाली वैल्यू. कम वैल्यू को 'मौजूद नहीं है' के तौर पर मार्क किया गया है.
- <series_1_max>
- पहली सीरीज़ में तय की गई ज़्यादा से ज़्यादा वैल्यू. ज़्यादा वैल्यू को इस वैल्यू तक छोटा करके दिखाया जाता है.
उदाहरण:
कम से कम या ज़्यादा से ज़्यादा -80 से 140 के स्केल वाला बार चार्ट. इसमें 30, -60, 50, 140, और 80 वैल्यू स्केल के तहत आती हैं. इसलिए, उनमें कोई काट-छांट नहीं की जाती. ध्यान दें कि शून्य लाइन को आपके लिए अडजस्ट किया जाता है. y-ऐक्सिस पर ऊपर की ओर का 80/(140 + 80) = 0.36. यह भी ध्यान रखें कि |
|
कोड में बदलने का आसान फ़ॉर्मैट
कोड में बदलने के आसान फ़ॉर्मैट की मदद से, 0 से 61 तक की पूर्णांक वैल्यू तय की जा सकती है. साथ ही, इन वैल्यू को कोड में बदलने के लिए, अक्षर और अंक वाले एक ही वर्ण का इस्तेमाल किया जा सकता है. इससे, सभी डेटा फ़ॉर्मैट में डेटा स्ट्रिंग का सबसे छोटा यूआरएल मिलता है. हालांकि, अगर डेटा ऐक्सिस पर 100 पिक्सल से ज़्यादा लंबा लाइन या बार चार्ट है, तो किसी दूसरे फ़ॉर्मैट का इस्तेमाल करें. इसकी वजह यह है कि सिर्फ़ 62 डेटा वैल्यू के साथ डेटा का लेवल, डिसप्ले के ब्यौरे के लेवल से काफ़ी ज़्यादा होता है. साथ ही, वैल्यू में थोड़ी-बहुत अंतर होता है. हालांकि, ये बड़े चार्ट में दिखते हैं.
ध्यान दें कि कोड में बदलने के आसान तरीके के साथ chds
पैरामीटर का इस्तेमाल करने पर, चार्ट में मौजूद डेटा एलिमेंट के साइज़ पर कोई असर नहीं पड़ेगा. हालांकि, डेटा पॉइंट मार्कर की वैल्यू पर असर पड़ेगा.
सिंटैक्स:
chd=s: <series_1> ,..., <series_n>
- <series_1>
- एक स्ट्रिंग, जहां हर वर्ण एक डेटा पॉइंट होता है और सीरीज़ को कॉमा लगाकर अलग किया जाता है. सीरीज़ में मौजूद अलग-अलग वैल्यू, डीलिमिटेड नहीं होती हैं. यहां इस्तेमाल किए जा सकने वाले डेटा वर्णों और उनसे जुड़ी वैल्यू दी गई हैं:
A—Z
, जहांA
= 0,B
= 1 और इसी तरह आगे,Z
= 25 होa—z
, जहांa
= 26,b
= 27, और इसी तरहz
= 51 हो0(zero)—9
, जहां0
= 52 और9
= 61 हो- अंडरस्कोर वर्ण (
_
) अनुपलब्ध मान दिखाता है
किसी एक वैल्यू को कोड में बदलने के लिए, नीचे दिए गए टूल का इस्तेमाल किया जा सकता है. इसके अलावा, यूआरएल की पूरी स्ट्रिंग को स्केल और कोड में बदलने के लिए, JavaScript कोड का इस्तेमाल किया जा सकता है.
उदाहरण:
टेक्स्ट-एन्कोडेड स्ट्रिंग chd=t:1,19,27,53,61,-1|12,39,57,45,51,27 के बराबर |
<title="chs=320x200&cht=bvs&chd=s:btb19_,mn5tzb&chco=ffcc33,ffe9a4&chxr=0,0,61,5&chxt=y" alt="दो सीरीज़ और छह वैल्यू वाला स्टैक किया गया बार चार्ट, ,3/static.chart=9,21,231 chd=s:BTb19_,Mn5tzb |
एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट
एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट की मदद से, 0 से 4095 तक की पूर्णांक वैल्यू तय की जा सकती है. इन वैल्यू में, अक्षर और अंक, दोनों शामिल होते हैं. इसमें, कोड में बदलने के सामान्य तरीके से थोड़े अलग सिंटैक्स का इस्तेमाल किया जाता है.
ध्यान दें कि कोड में बदलने के आसान तरीके के साथ chds
पैरामीटर का इस्तेमाल करने पर, चार्ट में मौजूद डेटा एलिमेंट के साइज़ पर कोई असर नहीं पड़ेगा. हालांकि, डेटा पॉइंट मार्कर की वैल्यू पर असर पड़ेगा.
सिंटैक्स:
chd=e: <series_1> ,..., <series_n>
- <series_1>
- ऐसी स्ट्रिंग जिसमें हर दो वर्ण एक डेटा पॉइंट होता है और सीरीज़ को कॉमा लगाकर अलग किया जाता है. सीरीज़ में मौजूद अलग-अलग वैल्यू, डीलिमिटेड नहीं होती हैं. कोड में बदलने के लिए इस्तेमाल किए जा सकने वाले वर्ण यहां दिए गए हैं:
A—Z
a—z
0—9
- पीरियड (
.
) - हाइफ़न (
-
) - जो वैल्यू मौजूद नहीं हैं उन्हें डबल अंडरस्कोर (
__
) से दिखाया जाता है.
यहां कोड में बदली गई वैल्यू की छोटी जानकारी दी गई है:
AA
= 0,AB
= 1, और इसी तरहAZ
= 25 होगाAa
= 26,Ab
= 27, और इसी तरहAz
= 51 होA0
= 52,A1
= 53, और इसी तरहA9
= 61 होA-
= 62,A.
= 63BA
= 64,BB
= 65, और इसी तरहBZ
= 89Ba
= 90,Bb
= 91, और इसी तरहBz
= 115 होB0
= 116,B1
= 117, और इसी तरहB9
= 125 होगाB-
= 126,B.
= 1279A
= 3904,9B
= 3905, और इसी तरह9Z
= 39299a
= 3930,9b
= 3931, और इसी तरह9z
= 395590
= 3956,91
= 3957, और इसी तरह99
= 39659-
= 3966,9.
= 3967-A
= 3968,-B
= 3969, और इसी तरह-Z
= 3993-a
= 3994,-b
= 3,995, और इसी तरह-z
= 4019-0
= 4020,-1
= 4021, और इसी तरह-9
= 4029--
= 4,030,-.
= 4031.A
= 4032,.B
= 4033, और इसी तरह.Z
= 4057.a
= 4058,.b
= 4059, और इसी तरह.z
= 4083.0
= 4084,.1
= 4085, और इसी तरह.9
= 4093.-
= 4094,..
= 4095
किसी एक वैल्यू को कोड में बदलने के लिए, नीचे दिए गए टूल का इस्तेमाल किया जा सकता है. इसके अलावा, यूआरएल की पूरी स्ट्रिंग को स्केल और कोड में बदलने के लिए, JavaScript कोड का इस्तेमाल किया जा सकता है.
उदाहरण:
टेक्स्ट-एन्कोडेड स्ट्रिंग chd=t:90,1000,2700,3500|3968,-1,1100,250 के बराबर |
chd=e:BaPoqM2s,-A__RMD6 |
डेटा स्केलिंग और ऐक्सिस स्केलिंग
डेटा को आपके चार्ट में फ़िट करने के लिए स्केल किया जाता है, यानी साफ़ तौर पर (कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट का इस्तेमाल करते समय) या इंप्लिसिट तरीके से (सभी दूसरे टाइप). इसका मतलब है कि हर चार्ट को फ़ॉर्मैट की उपलब्ध रेंज के मुताबिक स्केल किया जाता है, न कि आपके दिए गए डेटा कीकोको के मुताबिक.
अपने डेटा को स्केल करके देखें, ताकि उसमें आपके फ़ॉर्मैट के हिसाब से वैल्यू की पूरी रेंज दिखे. इससे, डेटा में होने वाले अंतर को बेहतर तरीके से समझा जा सकेगा. अपने डेटा को स्केल करने के लिए, उसे इस्तेमाल किए जा रहे फ़ॉर्मैट में फ़िट किया जा सकता है. इसके अलावा, डेटा रेंज को साफ़ तौर पर बताकर भी उसे स्केल किया जा सकता है. इसका मतलब है कि कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट का इस्तेमाल करें.
ध्यान दें कि ऐक्सिस लेबल की वैल्यू का हिसाब, पूरी तरह से अलग स्केल पर लगाया जाता है. इनका डेटा वैल्यू से कोई लेना-देना नहीं है. हालांकि, 0 से 100 की डिफ़ॉल्ट रेंज का इस्तेमाल किया जाता है. हालांकि, इस रेंज को बदला जा सकता है.
इस सेक्शन में, इन दोनों समस्याओं के बारे में बताया गया है.
डेटा को फ़ॉर्मैट की रेंज में फ़िट करने के लिए बढ़ाया गया है [पाई और वेन को छोड़कर सभी चार्ट]
अलग-अलग फ़ॉर्मैट में, वैल्यू की अलग-अलग सीमाएं इस्तेमाल की जा सकती हैं. आपके डेटा को फ़ॉर्मैट की रेंज के हिसाब से स्केल किया जाता है, ताकि आपके फ़ॉर्मैट में इस्तेमाल की जा सकने वाली ज़्यादा से ज़्यादा वैल्यू, उस ऐक्सिस पर सबसे ऊपर दिखे. साथ ही, आपके फ़ॉर्मैट की कम से कम वैल्यू सबसे नीचे रेंडर हो सके. नीचे दिए गए उदाहरणों में, बेसिक टेक्स्ट फ़ॉर्मैट (रेंज 0 से 100), कस्टम स्केलिंग वाले टेक्स्ट (0 से 200 की कस्टम रेंज), और एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट (रेंज 0 से 4095) का इस्तेमाल करके, एक ही वैल्यू (100) दिखाई गई है.
बेसिक टेक्स्ट फ़ॉर्मैट | कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट | एक्सटेंडेड एन्कोडिंग फ़ॉर्मैट |
---|---|---|
वैल्यू: 100 ( फ़ॉर्मैट की रेंज: 0 से 100 100 को 100/100 स्केल अप के रूप में रेंडर किया जाता है. |
मान 100 ( फ़ॉर्मैट की रेंज: 0 से 200 100 को 100/200 के स्केल पर रेंडर किया जाता है. |
वैल्यू: 100 ( फ़ॉर्मैट की रेंज: 0 से 4095 100 को 100/4095 स्केल अप के रूप में रेंडर किया जाता है. |
स्केलिंग के साथ टेक्स्ट फ़ॉर्मैट का इस्तेमाल करके, अपने चार्ट में आसानी से डेटा को फ़िट किया जा सकता है. डेटा को मैन्युअल तौर पर उस रेंज में फ़िट करने के लिए उसका सबसे अच्छा तरीका है जो आपके फ़ॉर्मैट के हिसाब से काम करती है.
पाई और वेन चार्ट: पाई और वेन चार्ट में, सभी वैल्यू एक-दूसरे से जुड़ी होती हैं, न कि चार्ट के कुल स्केल से.
chd=e:BkDIEs |
chd=t:100,200,300 |
ऐक्सिस की लेबल रेंज को अलग-अलग कैलकुलेट किया जाता है [बार, लाइन, रडार, स्कैटर, और कैंडलस्टिक]
chxt
पैरामीटर का इस्तेमाल करके, ऐक्सिस की वैल्यू दिखाई जा सकती हैं.
हालांकि, यह ध्यान रखना ज़रूरी है कि ऐक्सिस लेबल का हिसाब, चार्ट का डेटा दिखाने के लिए नहीं किया जाता.
इसके बजाय, एपीआई की मदद से या तो साफ़ तौर पर इसकी जानकारी दी जाती है या तो इसका हिसाब लगाया जाता है.
डेटा वैल्यू या डेटा स्केलिंग पर ध्यान दिए बिना, डिफ़ॉल्ट ऐक्सिस रेंज 0 से 100 के बीच होती है. उदाहरण के लिए, अगर y-ऐक्सिस को एक्सटेंडेड एन्कोडिंग (रेंज 0 से 4095) का इस्तेमाल करने वाले किसी चार्ट पर, डिफ़ॉल्ट ऐक्सिस लेबल का इस्तेमाल करके दिखाया जाता है, तो y-ऐक्सिस लेबल तब तक 0—100 के तौर पर दिखेगा, जब तक कि उसे साफ़ तौर पर नहीं बदला जाता. इसके बारे में नीचे बताया गया है. यहां दिए गए उदाहरण में, कोड में बदलने के एक्सटेंडेड बार चार्ट में डिफ़ॉल्ट वाई-ऐक्सिस लेबल को दिखाने का उदाहरण दिया गया है. इसकी डेटा वैल्यू 100 है:
chd=e:Bk
(chd=t:100
के बराबर)
हालांकि, chxr
पैरामीटर का इस्तेमाल करके, ऐक्सिस की सीमा तय की जा सकती है.
अगर आपको ऐक्सिस की वैल्यू में, डेटा की असल वैल्यू दिखानी हैं, तो आपको ऐक्सिस की कम से कम और ज़्यादा से ज़्यादा वैल्यू देनी होंगी. ये वैल्यू, आपके फ़ॉर्मैट की रेंज से मेल खानी चाहिए. ध्यान दें कि बेसिक टेक्स्ट फ़ॉर्मैट का स्केल, पहले से ही 0 से 100 होता है. इसलिए, अगर कस्टम स्केलिंग के बिना बेसिक टेक्स्ट फ़ॉर्मैटिंग का इस्तेमाल किया जा रहा है, तो ऐक्सिस की वैल्यू, डिफ़ॉल्ट रूप से डेटा वैल्यू से मैच करेंगी. चलिए, कुछ उदाहरणों की मदद से इसे
समझने की कोशिश करते हैं. यहां एक जैसे डेटा (15,26,51,61) वाले तीन चार्ट दिए गए हैं, जिनमें अलग-अलग फ़ॉर्मैट और अलग-अलग ऐक्सिस स्केल हैं:
आसान एन्कोडिंग, कोई ऐक्सिस स्केलिंग नहीं | आसानी से कोड में बदलने का तरीका, स्केल किया गया ऐक्सिस | बेसिक टेक्स्ट, कोई ऐक्सिस स्केलिंग नहीं |
---|---|---|
कोड में बदलने के आसान तरीके की रेंज: 0 से 61 डिफ़ॉल्ट ऐक्सिस रेंज (0 से 100) कोड में बदलने के तरीके की रेंज, लेबल ऐक्सिस की रेंज से छोटी होती है. इसलिए, बार, ऐक्सिस लेबल की असल वैल्यू से मेल नहीं खाते. हालांकि, बार का एक-दूसरे के अनुपात में सही अनुपात होता है. |
कोड में बदलने के आसान तरीके की रेंज: 0 से 61 ऐक्सिस की रेंज साफ़ तौर पर 0 से 61 पर सेट की गई है कोड में बदलने के तरीके की रेंज और ऐक्सिस की रेंज बराबर होती हैं. इसलिए, बार ऐक्सिस पर अपनी सही वैल्यू के हिसाब से होते हैं. |
बेसिक टेक्स्ट फ़ॉर्मैट की वैल्यू की रेंज: 0 से 100 डिफ़ॉल्ट ऐक्सिस रेंज (0 से 100) कोड में बदलने के तरीके की रेंज और ऐक्सिस की रेंज फिर से पहले जैसी हो गई हैं. इसलिए, डेटा की सटीक वैल्यू, डिफ़ॉल्ट रूप से ऐक्सिस पर दिखती हैं. टेक्स्ट फ़ॉर्मैट की रेंज, कोड में बदलने के सामान्य फ़ॉर्मैट (100 यूनिट बनाम 61 यूनिट) से ज़्यादा बड़ी होती है. इसलिए, यहां बार अन्य चार्ट के मुकाबले छोटे होते हैं. हालांकि, सभी चार्ट एक-दूसरे के अनुपात में होते हैं. |
JavaScript एन्कोडिंग स्क्रिप्ट
असल में इस्तेमाल करने के लिए, डेटा को मैन्युअल तरीके से कोड में बदलने के बजाय, प्रोग्राम के हिसाब से कोड में बदलना ज़्यादा आसान होता है.
JavaScript का नीचे दिया गया स्निपेट, किसी एक सीरीज़ को आसान या extended कोड में एन्कोड करता है.
साथ ही, डेटा वैल्यू को स्केल करता है, ताकि वह कोड में बदलने के तरीके की पूरी रेंज में फ़िट हो सके. डेटा
पॉज़िटिव नंबर के कलेक्शन के तौर पर दिया जाना चाहिए. अगर कोई वैल्यू पॉज़िटिव नंबर नहीं है, तो उसे अंडरस्कोर वर्ण (_
) का इस्तेमाल करके कोड में बदल दिया जाता है. ऐसा उस वैल्यू के लिए किया जाता है जो मौजूद नहीं है.
var simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // This function scales the submitted values so that // maxVal becomes the highest value. function simpleEncode(valueArray,maxValue) { var chartData = ['s:']; for (var i = 0; i < valueArray.length; i++) { var currentValue = valueArray[i]; if (!isNaN(currentValue) && currentValue >= 0) { chartData.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1) * currentValue / maxValue))); } else { chartData.push('_'); } } return chartData.join(''); } // Same as simple encoding, but for extended encoding. var EXTENDED_MAP= 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.'; var EXTENDED_MAP_LENGTH = EXTENDED_MAP.length; function extendedEncode(arrVals, maxVal) { var chartData = 'e:'; for(i = 0, len = arrVals.length; i < len; i++) { // In case the array vals were translated to strings. var numericVal = new Number(arrVals[i]); // Scale the value to maxVal. var scaledVal = Math.floor(EXTENDED_MAP_LENGTH * EXTENDED_MAP_LENGTH * numericVal / maxVal); if(scaledVal > (EXTENDED_MAP_LENGTH * EXTENDED_MAP_LENGTH) - 1) { chartData += ".."; } else if (scaledVal < 0) { chartData += '__'; } else { // Calculate first and second digits and add them to the output. var quotient = Math.floor(scaledVal / EXTENDED_MAP_LENGTH); var remainder = scaledVal - EXTENDED_MAP_LENGTH * quotient; chartData += EXTENDED_MAP.charAt(quotient) + EXTENDED_MAP.charAt(remainder); } } return chartData; }
डेटा को कोड में बदलने के लिए, simpleEncode
या extendedEncode
फ़ंक्शन को कॉल करें. इसके लिए, उस कलेक्शन को पास करें जिसमें आपका डेटा (valueArray
) और आपके डेटा की ज़्यादा से ज़्यादा वैल्यू (maxValue
) शामिल हो. चार्ट में सबसे ऊपर और सबसे बड़ी वैल्यू के बीच कुछ स्पेस बनाने के लिए, maxValue
को डेटा के कलेक्शन में सबसे बड़ी संख्या से बड़ा रखने के लिए, maxValue
को इस तरह से सेट करें:
var valueArray = new Array(0,1,4,4,6,11,14,17,23,28,33,36,43,59,65); var maxValue = 70; simpleEncode(valueArray, maxValue);