ডেটা ফরম্যাট

এই নথিটি ব্যাখ্যা করে যে কীভাবে আপনার চার্ট ডেটা Google চার্ট এপিআই-এ পাঠাতে হয়।

সুচিপত্র

ওভারভিউ

প্রায় সব চার্টের ডেটা chd প্যারামিটার ব্যবহার করে পাঠানো হয়। নিম্নলিখিত ফর্ম্যাটে ডেটা পাঠাতে হবে:

  • মৌলিক পাঠ্য বিন্যাস মূলত 0-100 থেকে সরল ভাসমান পয়েন্ট সংখ্যা, অন্তর্ভুক্ত। এই বিন্যাস হাত দ্বারা পড়া এবং লিখতে সহজ.
  • স্বয়ংক্রিয় স্কেলিং সহ পাঠ্য বিন্যাস চার্টকে আপনার ডেটার সাথে মানানসই করে।
  • কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস মৌলিক পাঠ্য বিন্যাসের অনুরূপ, তবে এটি আপনাকে দ্বিতীয় URL প্যারামিটার ব্যবহার করে একটি কাস্টম পরিসর নির্দিষ্ট করতে দেয়।
  • সহজ এনকোডিং বিন্যাস আপনাকে 0-61 থেকে পূর্ণসংখ্যার মান নির্দিষ্ট করতে দেয়, অন্তর্ভুক্ত, একটি একক বর্ণসংখ্যার অক্ষর দ্বারা এনকোড করা। এই এনকোডিংয়ের ফলে যেকোনো ডেটা ফরম্যাটের সংক্ষিপ্ততম ডেটা স্ট্রিং হয় (যদি কোনো মান 9-এর বেশি হয়)।
  • বর্ধিত এনকোডিং বিন্যাস আপনাকে 0-4095 থেকে পূর্ণসংখ্যার মান নির্দিষ্ট করতে দেয়, অন্তর্ভুক্ত, দুটি আলফানিউমেরিক অক্ষর দ্বারা এনকোড করা। বর্ধিত এনকোডিং অনেক ডেটা এবং একটি বৃহৎ ডেটা পরিসর সহ একটি চার্টের জন্য সবচেয়ে উপযুক্ত।

ডেটা মান ব্যবহার করা বিন্যাস মাপসই করা হয়; চার্টের সাথে মানানসই করার জন্য ডেটা কীভাবে ম্যানিপুলেট করা হয় তার ব্যাখ্যার জন্য ডেটা স্কেলিং এবং অক্ষ স্কেলিং দেখুন।

আমরা সাধারণ এনকোডিং বা বর্ধিত এনকোডিং ফর্ম্যাটে ডেটা এনকোড করার জন্য একটি জাভাস্ক্রিপ্ট স্নিপেট প্রদান করি। বিকল্পভাবে, বেশ কিছু Google চার্ট গোষ্ঠীর সদস্যরা বিন্যাসে সহায়তা করার জন্য অন্যান্য লাইব্রেরিগুলিতে অবদান রেখেছেন: সেগুলি খুঁজে পেতে সংরক্ষণাগারগুলিতে অনুসন্ধান করুন৷

বেসিক টেক্সট ফরম্যাট

বেসিক টেক্সট-ফরম্যাট করা ডেটা আপনাকে 0-100 থেকে ফ্লোটিং পয়েন্টের মান নির্দিষ্ট করতে দেয়, অন্তর্ভুক্ত, সংখ্যা হিসাবে। শূন্যের নিচের মান অনুপস্থিত হিসাবে চিহ্নিত করা হয়েছে; 100-এর উপরে মানগুলি 100-এ ছোট করা হয়। মৌলিক পাঠ্য বিন্যাসের সুবিধা হল যে মানগুলি URL-এ পড়া এবং বোঝা সহজ, এবং ডিফল্ট অক্ষ লেবেলগুলি সঠিকভাবে ডেটা মানগুলি দেখায়। যাইহোক, টেক্সট ফরম্যাটিং (সাধারণ হোক বা কাস্টম প্যারামিটার সহ) সব ফরম্যাটের দীর্ঘতম ডাটা স্ট্রিং এর ফলে।

যদি আপনার ডেটাতে পাঠ্য বিন্যাসের জন্য নির্দিষ্ট পরিসরের বাইরের মান অন্তর্ভুক্ত থাকে, তাহলে আপনি আপনার ডেটাকে আপনার ডেটার বৃহত্তম মানের শতাংশে রূপান্তর করে স্কেল করতে পারেন। বিকল্পভাবে, আপনি আপনার জন্য স্কেলিং পরিচালনা করতে কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস ব্যবহার করতে পারেন।

সিনট্যাক্স :

chd=t:val,val,val|val,val,val...
< ডেটা >
প্রতিটি সিরিজ এক বা একাধিক কমা দ্বারা পৃথক করা মান। একটি পাইপ অক্ষর ( | ) ব্যবহার করে একাধিক সিরিজ আলাদা করুন। মান হল 0-100 থেকে ফ্লোটিং পয়েন্ট সংখ্যা, অন্তর্ভুক্ত। শূন্যের চেয়ে কম মান, বা আন্ডারস্কোর অক্ষর ( _ ) শূন্য মান হিসাবে বিবেচিত হয়। 100-এর উপরে মান 100-এ ছোট করা হয়েছে।

উদাহরণ:

পাঁচটি মান সহ একটি টেবিল। আন্ডারস্কোরটিকে একটি শূন্য মান হিসাবে বিবেচনা করা হয়, -30 মানটি সর্বনিম্ন মানের নীচে পড়ে, তাই এটি বাদ দেওয়া হয়, এবং 200 মানটি 100-এ ছোট করা হয়৷ Bar chart with 5 values, text encoding.
chd=t:_,30,-30,50,80,200

উপরে ফিরে যাও

স্বয়ংক্রিয় স্কেলিং সহ পাঠ্য বিন্যাস

আপনি কিছু চার্ট কনফিগার করতে পারেন স্বয়ংক্রিয়ভাবে স্কেল করার জন্য তাদের ডেটার সাথে মানানসই। চার্টটি স্কেল করা হবে যাতে বৃহত্তম মানটি চার্টের শীর্ষে থাকে এবং সবচেয়ে ছোটটি (বা শূন্য, যদি সমস্ত মান শূন্যের চেয়ে বড় হয়) নীচে থাকবে৷

চার্টে দেখানো যেকোনো মার্কার মান তাদের প্রকৃত মান প্রদর্শন করবে, তাদের স্কেল করা মান নয়।

এই বৈশিষ্ট্যটি শুধুমাত্র টেক্সট-ফরম্যাট করা মানগুলির সাথে কাজ করে এবং সমস্ত চার্ট প্রকারের সাথে কাজ করে না। এটি সমর্থিত কিনা তা দেখতে আপনার চার্টের ধরন নিয়ে পরীক্ষা করুন৷

বাক্য গঠন

cht=t:val,val,val...
chds=a

উদাহরণ:


chd=t:5,30,50,80,200
chds=a

মনে রাখবেন যে পাই আপনার পাই চার্টের জন্য <0 মান ব্যবহার করা উচিত নয়।

Bar chart with 5 values, text encoding.
chd=t:-5,30,-30,50,80,200
chds=a

উপরে ফিরে যাও

কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস

কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস আপনাকে ইচ্ছামত ধনাত্মক বা নেতিবাচক ফ্লোটিং পয়েন্ট সংখ্যা নির্দিষ্ট করতে দেয়, একটি স্কেলিং প্যারামিটারের সাথে সংমিশ্রণে যা আপনাকে আপনার চার্টের জন্য একটি কাস্টম পরিসর নির্দিষ্ট করতে দেয়। এই চার্টটি উপযোগী যখন আপনি একটি নির্দিষ্ট পরিসরে আপনার ডেটা সীমাবদ্ধ করার বিষয়ে চিন্তা করতে চান না, বা একটি চার্টের ভিতরে সুন্দরভাবে ফিট করার জন্য ম্যানুয়ালি ডেটা স্কেল করতে চান না। এই বিন্যাসটি আপনার জন্য প্রয়োজন অনুসারে শূন্য লাইন সামঞ্জস্য করবে। ডেটার বিন্যাস মৌলিক পাঠ্য বিন্যাসের মতোই।

স্বয়ংক্রিয় স্কেলিং এর জন্য, 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 থেকে। আপনি মান বা E স্বরলিপিতে মান উল্লেখ করতে পারেন।
< সিরিজ_1_মিনিট >
প্রথম সিরিজে ন্যূনতম অনুমোদিত মান। নিম্ন মান অনুপস্থিত হিসাবে চিহ্নিত করা হয়েছে.
< series_1_max >
প্রথম সিরিজে সর্বাধিক অনুমোদিত মান। উচ্চতর মান এই মান থেকে কাটা হয়.

উদাহরণ:

-80–140-এর ন্যূনতম/সর্বোচ্চ স্কেল সহ একটি বার চার্ট৷ 30, -60, 50, 140, এবং 80 মানগুলি স্কেলের মধ্যে পড়ে, তাই সেগুলি কাটা হয় না। মনে রাখবেন যে শূন্য রেখাটি আপনার জন্য সামঞ্জস্য করা হয়েছে, 80/(140 + 80) = 0.36 y-অক্ষের উপরে।

এছাড়াও মনে রাখবেন যে ডিফল্ট y-অক্ষ পরিসীমা এখনও 0-100, chds প্যারামিটার থাকা সত্ত্বেও, তাই লেবেলের মানগুলি প্রকৃত ডেটা মানগুলিকে প্রতিফলিত করে না।

Bar chart with 5 values, text encoding with data scaling.

chd=t:30,-60,50,140,80,-90
chds=-80,140

উপরে ফিরে যাও

সহজ এনকোডিং বিন্যাস

সহজ এনকোডিং বিন্যাস আপনাকে 0-61 থেকে পূর্ণসংখ্যার মান নির্দিষ্ট করতে দেয়, অন্তর্ভুক্ত, একটি একক বর্ণসংখ্যার অক্ষর দ্বারা এনকোড করা। এর ফলে সমস্ত ডেটা ফরম্যাটের সংক্ষিপ্ততম ডেটা স্ট্রিং URL পাওয়া যায়। যাইহোক, যদি আপনার কাছে একটি লাইন বা বার চার্ট থাকে যা ডেটা অক্ষ বরাবর 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
  • আন্ডারস্কোর অক্ষর ( _ ) একটি অনুপস্থিত মান নির্দেশ করে

আপনি একটি একক মান এনকোড করতে নিম্নলিখিত সরঞ্জামটি ব্যবহার করতে পারেন, বা একটি সম্পূর্ণ URL স্ট্রিং স্কেল এবং এনকোড করতে 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 = 61 পর্যন্ত
  • A- = 62, A. = 63
  • BA = 64, BB = 65, এবং তাই BZ = 89 পর্যন্ত
  • Ba = 90, Bb = 91, এবং তাই Bz = 115 পর্যন্ত
  • B0 = 116, B1 = 117, এবং তাই B9 = 125
  • B- = 126, B. = 127
  • 9A = 3904, 9B = 3905, এবং তাই 9Z = 3929
  • 9a = 3930, 9b = 3931, এবং তাই 9z = 3955
  • 90 = 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

আপনি একটি একক মান এনকোড করতে নিম্নলিখিত সরঞ্জামটি ব্যবহার করতে পারেন, বা একটি সম্পূর্ণ URL স্ট্রিং স্কেল এবং এনকোড করতে JavaScript কোড ব্যবহার করতে পারেন৷

উদাহরণ:

পাঠ্য-এনকোড করা স্ট্রিং chd=t:90,1000,2700,3500|3968,-1,1100,250 সমতুল্য Stacked bar chart with two series of four values each, extended encoding.
chd=e:BaPoqM2s,-A__RMD6

উপরে ফিরে যাও

ডেটা স্কেলিং এবং অক্ষ স্কেলিং

আপনার চার্টে ফিট করার জন্য ডেটা স্কেল করা হয়, হয় স্পষ্টভাবে (কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস ব্যবহার করার সময়) বা অন্তর্নিহিতভাবে (অন্য সমস্ত প্রকার)। এর মানে হল যে প্রতিটি চার্ট বিন্যাসের উপলব্ধ পরিসরে মাপসই করা হয়েছে, আপনার সরবরাহ করা ডেটার প্রকৃত পরিসর নয়

আপনি আপনার ডেটা স্কেল করতে চাইতে পারেন যাতে এটি আপনার বিন্যাস দ্বারা অনুমোদিত মানগুলির সম্পূর্ণ পরিসরে বিস্তৃত হয়, পার্থক্যগুলিকে আরও সুস্পষ্ট করতে। আপনি আপনার ডেটা স্কেল করতে পারেন আপনার ব্যবহার করা বিন্যাসের মধ্যে ফিট করার জন্য আপনার ডেটা স্কেল করে, বা স্পষ্টভাবে ডেটা পরিসীমা নির্দিষ্ট করে (অর্থাৎ, কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস ব্যবহার করুন)।

মনে রাখবেন যে অক্ষ লেবেল মানগুলি সম্পূর্ণ স্বাধীন স্কেলে গণনা করা হয় এবং ডেটা মানগুলির সাথে কোনও সম্পর্ক নেই, তবে 0-100 এর ডিফল্ট পরিসর ব্যবহার করুন৷ যাইহোক, আপনি সেই পরিসর পরিবর্তন করতে পারেন।

এই বিভাগে এই উভয় সমস্যা বর্ণনা.

বিন্যাস পরিসরে ফিট করার জন্য ডেটা স্কেল করা হয় [ পাই এবং ভেন ছাড়া সমস্ত চার্ট ]

বিভিন্ন ফরম্যাট বিভিন্ন মান পরিসীমা সমর্থন করে। আপনার ডেটা আপনার বিন্যাস পরিসরে স্কেল করা হয়েছে, যাতে আপনার বিন্যাস দ্বারা সমর্থিত সর্বাধিক মানটি সেই অক্ষের শীর্ষে রেন্ডার করা হয় এবং আপনার বিন্যাসের জন্য সর্বনিম্ন মান নীচে রেন্ডার করা হয়। নিম্নলিখিত উদাহরণগুলি মৌলিক পাঠ্য বিন্যাস (পরিসীমা 0-100), কাস্টম স্কেলিং সহ পাঠ্য (0-200-এর কাস্টম পরিসর), এবং বর্ধিত এনকোডিং বিন্যাস (পরিসীমা 0-4095) ব্যবহার করে একই মান (100) দেখায়।

বেসিক টেক্সট ফরম্যাট কাস্টম স্কেলিং সহ পাঠ্য বিন্যাস বর্ধিত এনকোডিং বিন্যাস
Bar chart with basic text with custom scaling

মান: 100 ( chd=t:100 )

বিন্যাসের পরিসর: 0-100

100 কে 100/100 হিসাবে রেন্ডার করা হয় স্কেলের উপরে।

মান 100 ( chd=t:100, chds=0,200 )

বিন্যাসের পরিসর: 0-200

100 কে রেন্ডার করা হয়েছে 100/200 স্কেলে।

মান: 100 ( chd=e:Bk )

বিন্যাসের পরিসর: 0–4095

100 কে 100/4095 হিসাবে রেন্ডার করা হয়েছে স্কেলের উপরে।

আপনার চার্টে ফিট করার জন্য আপনার ডেটা স্কেল করার একটি সহজ উপায় হল স্কেলিং সহ পাঠ্য বিন্যাস ব্যবহার করা। আরও জড়িত পদ্ধতি হল আপনার ফর্ম্যাট দ্বারা সমর্থিত সীমার মধ্যে ফিট করার জন্য আপনার ডেটা ম্যানুয়ালি স্কেল করা।

পাই এবং ভেন চার্ট : পাই এবং ভেন চার্টের সাথে, সমস্ত মান একে অপরের সাথে আপেক্ষিক, চার্টের মোট স্কেলের সাথে নয়।

chd=e:BkDIEs chd=t:100,200,300
chds=0,300

অক্ষ লেবেল পরিসর স্বাধীনভাবে গণনা করা হয় [ বার, লাইন, রাডার, স্ক্যাটার এবং ক্যান্ডেলস্টিক ]

আপনি chxt প্যারামিটার ব্যবহার করে অক্ষ মান প্রদর্শন করতে বেছে নিতে পারেন। যাইহোক, এটি লক্ষ্য করা গুরুত্বপূর্ণ যে অক্ষ লেবেলগুলি চার্ট ডেটা প্রতিফলিত করার জন্য গণনা করা হয় না, তবে হয় API দ্বারা স্বাধীনভাবে গণনা করা হয়, বা আপনার দ্বারা স্পষ্টভাবে নির্দিষ্ট করা হয়।

ডেটা মান বা ডেটা স্কেলিং নির্বিশেষে ডিফল্ট অক্ষের পরিসর হল 0-100। সুতরাং, উদাহরণস্বরূপ, আপনি যদি একটি চার্টে ডিফল্ট অক্ষ লেবেল ব্যবহার করে y-অক্ষ প্রদর্শন করেন যা বর্ধিত এনকোডিং (পরিসীমা 0-4095) ব্যবহার করে, y-অক্ষ লেবেলগুলি এখনও 0-100 পড়বে যদি না আপনি এটিকে স্পষ্টভাবে পরিবর্তন করেন, যেমনটি নীচে ব্যাখ্যা করা হয়েছে . এখানে 100 এর ডেটা মান সহ একটি বর্ধিত এনকোডিং বার চার্টে ডিফল্ট y-অক্ষ লেবেল দেখানোর একটি উদাহরণ রয়েছে:


chd=e:Bk ( chd=t:100 এর সমতুল্য)

যাইহোক, আপনি chxr প্যারামিটার ব্যবহার করে অক্ষ পরিসীমা নির্দিষ্ট করতে পারেন। আপনি যদি অক্ষের মানগুলি প্রকৃত ডেটা মানগুলিকে প্রতিফলিত করতে চান তবে আপনাকে অবশ্যই সর্বনিম্ন এবং সর্বাধিক অক্ষের মানগুলি নির্দিষ্ট করতে হবে যা আপনার বিন্যাস পরিসরের সাথে মেলে৷ লক্ষ্য করুন যে প্রাথমিক পাঠ্য বিন্যাসের একটি স্কেল ইতিমধ্যেই 0-100 রয়েছে, তাই আপনি যদি মৌলিক পাঠ্য বিন্যাস (কাস্টম স্কেলিং ছাড়া) ব্যবহার করেন তবে অক্ষের মানগুলি ডিফল্টরূপে ডেটা মানগুলির সাথে মিলবে। আসুন কয়েকটি উদাহরণ দিয়ে এটি ব্যাখ্যা করি। এখানে একই ডেটা (15,26,51,61) সহ তিনটি চার্ট রয়েছে, তবে বিভিন্ন বিন্যাস এবং বিভিন্ন অক্ষ স্কেল রয়েছে:

সহজ এনকোডিং, কোন অক্ষ স্কেলিং সরল এনকোডিং, স্কেল করা অক্ষ মৌলিক পাঠ্য, কোন অক্ষ স্কেলিং নেই

chd=s:Paz9

সরল এনকোডিং মান পরিসর: 0-61

ডিফল্ট অক্ষ পরিসীমা (0-100)

এনকোডিং পরিসর লেবেল অক্ষ পরিসরের চেয়ে ছোট, তাই বারগুলি অক্ষ লেবেলের প্রকৃত মানের সাথে সঙ্গতিপূর্ণ নয়৷ যাইহোক, বারগুলি একে অপরের সাথে সঠিকভাবে অনুপাতযুক্ত।

chd=s:Paz9
chxr=0,0,61,10

সরল এনকোডিং মান পরিসর: 0-61

অক্ষ পরিসীমা স্পষ্টভাবে 0-61 এ সেট করা হয়েছে

এনকোডিং পরিসীমা এবং অক্ষ পরিসীমা সমান, তাই বারগুলি অক্ষের উপর তাদের সঠিক মানের সাথে মিলে যায়।

chd=t:15,26,51,61

মৌলিক পাঠ্য বিন্যাসের মান পরিসীমা: 0-100

ডিফল্ট অক্ষ পরিসীমা (0-100)

এনকোডিং পরিসীমা এবং অক্ষ পরিসীমা আবার একই, তাই সঠিক ডেটা মানগুলি ডিফল্টরূপে অক্ষে দেখানো হয়।

যেহেতু পাঠ্য বিন্যাস পরিসর সাধারণ এনকোডিং বিন্যাস পরিসরের চেয়ে বড় (100 ইউনিট বনাম 61 ইউনিট), বারগুলি এখানে অন্যান্য চার্টের তুলনায় ছোট, তবে সমস্ত চার্ট একে অপরের অনুপাতে থাকে।

উপরে ফিরে যাও

জাভাস্ক্রিপ্ট এনকোডিং স্ক্রিপ্ট

বাস্তব-বিশ্ব ব্যবহারের জন্য, ম্যানুয়ালির পরিবর্তে প্রোগ্রামগতভাবে ডেটা এনকোড করা সম্ভবত সহজ।

জাভাস্ক্রিপ্টের নিম্নলিখিত স্নিপেটটি একটি একক সিরিজকে সহজ বা বর্ধিত এনকোডিং-এ এনকোড করে এবং সেই এনকোডিংয়ের সম্পূর্ণ পরিসরের মধ্যে ফিট করার জন্য ডেটা মানগুলিকে স্কেল করে। ডেটা অবশ্যই ধনাত্মক সংখ্যার অ্যারে হিসাবে সরবরাহ করতে হবে। ধনাত্মক সংখ্যা নয় এমন কোনো মান প্রদত্ত আন্ডারস্কোর অক্ষর ( _ ) ব্যবহার করে অনুপস্থিত মান হিসেবে এনকোড করা হয়।

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;
}

ডেটা এনকোড করতে, আপনার ডেটা ( valueArray ) এবং আপনার ডেটার সর্বাধিক মান ( maxValue ) ধারণ করে এমন অ্যারেতে পাস করে simpleEncode বা extendedEncode ফাংশনটি কল করুন৷ সর্বোচ্চ মান এবং চার্টের শীর্ষের মধ্যে কিছু স্থান তৈরি করতে, 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);

উপরে ফিরে যাও