इस दस्तावेज़ में बताया गया है कि अपने चार्ट डेटा को Google चार्ट API पर कैसे भेजें.
विषय सूची
खास जानकारी
करीब-करीब सभी चार्ट का डेटा chd
पैरामीटर का इस्तेमाल करके भेजा जाता है.
डेटा को इनमें से किसी एक फ़ॉर्मैट में भेजा जाना चाहिए:
- टेक्स्ट का बुनियादी फ़ॉर्मैट 0 से 100 के बीच का कोई भी फ़्लोटिंग पॉइंट नंबर होना चाहिए. इस फ़ॉर्मैट को पढ़ना और हाथ से लिखना आसान है.
- अपने-आप स्केलिंग करने वाला टेक्स्ट फ़ॉर्मैट, आपके डेटा के हिसाब से चार्ट को स्केल करता है.
- कस्टम स्केलिंग वाला टेक्स्ट फ़ॉर्मैट, बेसिक टेक्स्ट फ़ॉर्मैट जैसा ही होता है. हालांकि, इससे आप दूसरे यूआरएल पैरामीटर का इस्तेमाल करके, कस्टम रेंज तय कर सकते हैं.
- कोड में बदलने के आसान तरीके से आप 0 से 61 तक के सभी पूर्णांक मान तय कर सकते हैं. इनमें एक अंक और एक वर्ण भी शामिल होता है. यह कोड में बदलने के किसी भी डेटा फ़ॉर्मैट की सबसे छोटी डेटा स्ट्रिंग में बदलता है (अगर कोई भी वैल्यू 9 से ज़्यादा है).
- कोड में बदलने के एक्सटेंडेड फ़ॉर्मैट की मदद से, आप 0 से 4095 तक की इंटेजर वाली वैल्यू तय कर सकते हैं. इन वैल्यू को अक्षर और अंक दोनों से कोड में बदला जाता है. एक्सटेंडेड एन्कोडिंग, बहुत ज़्यादा डेटा और बड़ी डेटा सीमा वाले चार्ट के लिए सबसे अच्छा होता है.
डेटा के मान को इस्तेमाल किए गए फ़ॉर्मैट के मुताबिक बढ़ाया जाता है. चार्ट में फ़िट करने के लिए, डेटा में बदलाव करने के तरीके के बारे में ज़्यादा जानकारी के लिए, डेटा स्केलिंग और ऐक्सिस स्केलिंग देखें.
हम डेटा को कोड में बदलने के आसान तरीके या बड़े फ़ॉर्मैट में बदलने के लिए, JavaScript स्निपेट उपलब्ध कराते हैं. इसके अलावा, कई Google चार्ट ग्रुप के सदस्यों ने फ़ॉर्मैटिंग में मदद करने के लिए, अन्य लाइब्रेरी का योगदान दिया है: उन्हें खोजने के लिए, संग्रह खोजें.
टेक्स्ट का बेसिक फ़ॉर्मैट
टेक्स्ट के फ़ॉर्मैट वाले बुनियादी डेटा से आप 0 से 100 तक के फ़्लोटिंग पॉइंट वैल्यू, संख्या के रूप में बता सकते हैं. शून्य से कम वैल्यू को 'मौजूद नहीं है' के तौर पर मार्क किया जाता है. 100 से ज़्यादा की वैल्यू को 100 तक छोटा कर दिया जाता है. बुनियादी टेक्स्ट फ़ॉर्मैट का फ़ायदा यह है कि यूआरएल में वैल्यू आसानी से पढ़ी और समझने में आसान होती हैं. साथ ही, डिफ़ॉल्ट ऐक्सिस लेबल डेटा वैल्यू को सही तरीके से दिखाते हैं. हालांकि, टेक्स्ट फ़ॉर्मैटिंग (चाहे कस्टम पैरामीटर हो या कस्टम पैरामीटर), सभी फ़ॉर्मैट की सबसे लंबी डेटा स्ट्रिंग होती है.
अगर आपके डेटा में टेक्स्ट फ़ॉर्मैटिंग के लिए तय सीमा से बाहर वैल्यू शामिल हैं, तो आप अपने डेटा को सबसे बड़े वैल्यू के प्रतिशत में बदलकर अपने डेटा को बढ़ा सकते हैं. इसके अलावा, आपके पास स्केलिंग को मैनेज करने के लिए, कस्टम स्केलिंग के साथ टेक्स्ट फ़ॉर्मैटिंग का इस्तेमाल करने का विकल्प भी है.
सिंटैक्स:
chd=t:val,val,val|val,val,val...
- <डेटा>
- हर सीरीज़, एक या एक से ज़्यादा कॉमा लगाकर अलग की गई वैल्यू होती है. किसी पाइप वर्ण (
|
) का इस्तेमाल करके कई सीरीज़ को अलग करें. वैल्यू, फ़्लोटिंग पॉइंट नंबर 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:<डेटा>
- सादे डेटा फ़ॉर्मैट की तरह: हर सीरीज़ की एक या इससे ज़्यादा वैल्यू को कॉमा लगाकर अलग किया गया है.
हर सीरीज़ को पाइप वर्ण (
|
) से अलग किया जाता है. हर सीरीज़ में, डाली गई वैल्यू की सीमाchds
पैरामीटर से तय की गई है. - Chds
- हर डेटा सीरीज़ के लिए, एक या एक से ज़्यादा और मंज़ूर की गई ज़्यादा से ज़्यादा वैल्यू का सेट. इन वैल्यू को कॉमा लगाकर अलग किया जाता है. आपको ज़्यादा से ज़्यादा और कम से कम, दोनों सप्लाई करनी होंगी. अगर डेटा सीरीज़ के मुकाबले कम जोड़े जोड़े जाते हैं, तो आखिरी जोड़ी को बाकी सभी डेटा सीरीज़ पर लागू किया जाता है. ध्यान दें कि इससे ऐक्सिस रेंज में कोई बदलाव नहीं होता है. ऐक्सिस रेंज को बदलने के लिए, आपको
chxr
पैरामीटर सेट करना होगा. मान्य वैल्यू की रेंज (+/-)9.999e(+/-)199 होती है. स्टैंडर्ड या ई-नोटेशन में से किसी एक वैल्यू का इस्तेमाल करें.- <series_1_min>
- पहली सीरीज़ में कम से कम कितनी वैल्यू डाली जा सकती है. कम वैल्यू को 'उपलब्ध नहीं है' के तौर पर मार्क किया जाता है.
- <series_1_max>
- पहली सीरीज़ में ज़्यादा से ज़्यादा वैल्यू डाली जा सकती है. ज़्यादा से ज़्यादा वैल्यू को, इस वैल्यू तक छोटा किया जाता है.
उदाहरण:
-80—140 के कम से कम/ज़्यादा से ज़्यादा स्केल वाला बार चार्ट. 30, -60, 50, 140, और 80 वैल्यू, स्केल के दायरे में आती हैं. इसलिए, उन्हें छोटा नहीं किया जाता. ध्यान दें कि शून्य लाइन आपके लिए एडजस्ट की जाती है, 80/(140 + 80) = y-एक्सिस के ऊपर से 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 के बराबर |
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
= 61A-
= 62,A.
= 63BA
= 64,BB
= 65 वगैरह.BZ
= 89Ba
= 90,Bb
= 91 वगैरह,Bz
= 115 हैB0
= 116,B1
= 117, और इसी तरहB9
= 125B-
= 126,B.
= 1279A
= 3904,9B
= 3905, और इसी तरह9Z
= 39299a
= 3930,9b
= 3931, और इसी तरह,9z
= 395590
= 3956,91
= 3957 वगैरह,99
= 3965 है9-
= 3966,9.
= 3967-A
= 3968,-B
= 3969 वगैरह,-Z
= 3993 है-a
= 3994,-b
= 3995 वगैरह,-z
= 4019-0
= 4020,-1
= 4021, और इसी तरह-9
= 4029--
= 4030,-.
= 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 पढ़ेंगे, जैसा कि नीचे बताया गया है. यहां एक उदाहरण दिया गया है, जिसमें एन्कोडिंग के लिए एक बड़े चार्ट में y-एक्सिस के डिफ़ॉल्ट लेबल के साथ 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 का यह स्निपेट, सिंगल सीरीज़ को आसान या एक्सटेंडेड एन्कोडिंग में एन्कोड करता है. साथ ही, उस कोड में बदली गई पूरी रेंज में फ़िट होने के लिए डेटा वैल्यू को स्केल करता है. डेटा को
पॉज़िटिव नंबर के तौर पर उपलब्ध कराया जाना चाहिए. अगर किसी वैल्यू को पॉज़िटिव नंबर के तौर पर नहीं दिखाया जाता है, तो उसे अंडरस्कोर (_
) का इस्तेमाल करके, वैल्यू के तौर पर एन्कोड किया जाता है.
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
को इस तरह से डेटा की सबसे बड़ी संख्या से बड़ी बनाएं.
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);