Veri Biçimleri

Bu belgede, grafik verilerinizi Google Chart API'ye nasıl göndereceğiniz açıklanmaktadır.

İçindekiler

Genel bakış

Neredeyse tüm grafiklere ilişkin veriler chd parametresi kullanılarak gönderilir. Veriler aşağıdaki biçimlerden birinde gönderilmelidir:

  • Temel metin biçimi, 0-100 dahil olmak üzere temelde basit kayan nokta sayılarıdır. Bu biçim, elle okunması ve yazılması kolaydır.
  • Otomatik ölçeklendirmeye sahip metin biçimi, grafiği verilerinize sığacak şekilde ölçeklendirir.
  • Özel ölçeklendirmeli metin biçimi, temel metin biçimine benzer ancak ikinci bir URL parametresi kullanarak özel aralık belirtmenize olanak tanır.
  • Basit kodlama biçimi, tek bir alfanümerik karakterle kodlanan 0-61 dahil olmak üzere tam sayı değerleri belirtmenizi sağlar. Bu kodlama, herhangi bir veri biçimi arasında en kısa veri dizesini oluşturur (değerler 9'dan büyükse).
  • Genişletilmiş kodlama biçimi, iki alfanümerik karakterle kodlanan 0-4095 arası tam sayı değerleri belirtmenizi sağlar. Genişletilmiş kodlama, çok fazla verisi ve geniş bir veri aralığı olan grafikler için en uygun seçenektir.

Veri değerleri, kullanılan biçime uyacak şekilde ölçeklendirilir. Verilerin grafiğe sığacak şekilde nasıl değiştirildiğini açıklayan bir açıklama için Veri Ölçeklendirme ve Eksen Ölçeklendirme bölümüne bakın.

Verileri basit kodlama veya genişletilmiş kodlama biçimlerinde kodlamak için JavaScript snippet'i sağlarız. Alternatif olarak, birkaç Google Grafik grubu üyesi, biçimlendirme konusunda yardımcı olması için başka kitaplıklarla da katkıda bulunmuşlardır: Bu kitaplıklarda arama yaparak bulabilirsiniz.

Temel Metin Biçimi

Temel metin biçimli veriler, 0-100 arasındaki kayan nokta değerlerini (sayılar dahil) belirtebilmenizi sağlar. Sıfırın altındaki değerler eksik olarak işaretlenir. 100'ün üzerindeki değerler 100'e kısaltılır. Temel metin biçiminin avantajı, değerlerin URL'de kolayca okunup anlaşılabilmesi ve varsayılan eksen etiketlerinin veri değerlerini doğru bir şekilde göstermesidir. Bununla birlikte, metin biçimlendirmesi (basit veya özel parametrelerle), tüm biçimlerdeki en uzun veri dizesini oluşturur.

Verileriniz metin biçimlendirmesi için belirtilen aralığın dışında değerler içeriyorsa verilerinizi verilerinizdeki en büyük değerin yüzdelerine dönüştürerek ölçeklendirebilirsiniz. Alternatif olarak, ölçeklendirmeyi sizin yerinize yapması için özel ölçeklendirmeli metin biçimlendirmesi kullanabilirsiniz.

Söz dizimi:

chd=t:val,val,val|val,val,val...
<data>
Her seri, virgülle ayrılmış bir veya daha fazla değerdir. Birden çok seriyi dikey çizgi karakteri (|) kullanarak ayırın. Değerler, 0-100 dahil olmak üzere kayan nokta sayılarıdır. Sıfırdan küçük değerler veya alt çizgi karakteri ( _ ) null değerler olarak kabul edilir. 100'ün üzerindeki değerler 100'e kısaltılır.

 

Örnek:

Beş değer içeren bir tablo. Alt çizgi boş bir değer olarak kabul edilir ve -30 değeri minimum değerin altına düştüğünden atlanır ve 200 değeri 100'e kısaltılır. 5 değerli çubuk grafik, metin kodlama.
chd=t:_,30,-30,50,80,200

Başa dön

Otomatik Ölçeklendirme Özellikli Metin Biçimi

Bazı grafikleri, verilerine sığacak şekilde otomatik olarak ölçeklenecek şekilde yapılandırabilirsiniz. Grafik, en büyük değer grafiğin üst kısmında, en küçük değer (veya tüm değerler sıfırdan büyükse sıfır) en altta olacak şekilde ölçeklendirilir.

Grafikte gösterilen işaretçi değerleri, bunların ölçeklendirilmiş değerlerini değil, gerçek değerlerini gösterir.

Bu özellik yalnızca metin biçimlendirilmiş değerlerle çalışır ve tüm grafik türlerinde kullanılamaz. Desteklenip desteklenmediğini görmek için grafik türünüzle denemeler yapın.

Söz dizimi

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

Örnekler:


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

Pasta grafiklerde 0'dan küçük değerler kullanmamanız gerektiğini unutmayın.

5 değerli çubuk grafik, metin kodlama.
chd=t:-5,30,-30,50,80,200
chds=a

Başa dön

Özel Ölçeklendirme ile Metin Biçimi

Özel ölçeklendirmeli metin biçimi, rastgele pozitif veya negatif kayan nokta sayılarını belirtmenize olanak tanır. Ayrıca, grafiğiniz için özel bir aralık belirtebilmenizi sağlayan ölçeklendirme parametresiyle birlikte kullanılabilir. Verilerinizi belirli bir aralıkla sınırlamak veya verileri bir grafiğe iyi sığması için manuel olarak ölçeklendirmek istemiyorsanız bu grafik kullanışlıdır. Bu biçim, sıfır satırını sizin için gerektiği şekilde ayarlar. Verilerin biçimi, temel metin biçimiyle aynıdır.

Otomatik ölçeklendirme için chds=a değerini belirtin.

Metin biçimlendirmesi (basit veya özel parametrelerle), tüm biçimlerdeki en uzun veri dizesi elde edilmesini sağlar.

Söz dizimi:

Özel ölçeklendirme ile metin biçimlendirme için iki parametre gerekir:

chd=t:val,val,val|val,val,val
chds=<series_1_min>,<series_1_max>,...,<series_n_min>,<series_n_max>
chd=t:<data>
Düz veri biçimiyle aynıdır: Seri başına bir veya daha fazla virgülle ayrılmış değer, dikey çizgi (|) ile ayrılmış birden fazla seri. Her bir serideki izin verilen değerlerin aralığı chds parametresiyle belirtilir.
chd
Her veri serisi için izin verilen bir veya daha fazla minimum ve maksimum değerden oluşan, virgülle ayrılmış bir grup. Hem maks. hem de minimum değer sağlamanız gerekir. Veri serisi olduğundan daha az çift sağlarsanız son çift kalan tüm veri serilerine uygulanır. Bu işlemin eksen aralığını değiştirmediğini unutmayın. Eksen aralığını değiştirmek için chxr parametresini ayarlamanız gerekir. Geçerli değerler, (+/-)9.999e(+/-)199 aralığındadır. Değerleri standart veya E gösteriminde belirtebilirsiniz.
<series_1_min>
İlk seride izin verilen minimum değer. Küçük değerler eksik olarak işaretlenir.
<series_1_max>
İlk seride izin verilen maksimum değer. Daha yüksek değerler bu değer olarak kısaltılır.

 

Örnek:

-80-140 aralığında min/maks. skalaya sahip çubuk grafik. 30, -60, 50, 140 ve 80 değerleri ölçek kapsamında olduğundan kısaltılmazlar. Sıfır çizgisinin sizin için ayarlandığına dikkat edin.80/(140 + 80) = y ekseninde yukarı çıkan yönün 0, 36'sı bu şekildedir.

Ayrıca, chds parametresine rağmen varsayılan y ekseni aralığının hâlâ 0-100 olduğunu ve bu nedenle etiket değerlerinin gerçek veri değerlerini yansıtmadığını unutmayın.

5 değerli çubuk grafik, veri ölçeklendirme ile metin kodlama.

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

Başa dön

Basit Kodlama Biçimi

Basit kodlama biçimi, tek bir alfanümerik karakterle kodlanmış, 0-61 arasında (bu değerler dahil) tam sayı değerleri belirtmenize olanak tanır. Bu, tüm veri biçimleri arasında en kısa veri dizesi URL'sini elde eder. Ancak, veri ekseni boyunca 100 pikselden uzun bir çizgi veya çubuk grafiğiniz varsa başka bir biçim kullanmak isteyebilirsiniz. Bunun nedeni, yalnızca 62 veri değeri desteklendiğinde veri ayrıntı düzeyinin görüntüleme ayrıntı düzeyinden çok daha büyük olması ve değerlerin çok az hatalı olmasıdır (pek çok değil, büyük grafiklerde görülebilir).

chds parametresini basit kodlamayla kullanırsanız grafikteki veri öğesi boyutunun etkilenmeyeceğini ancak veri noktası işaretçisi değerlerinin etkilenmeyeceğini unutmayın.

Söz dizimi:

chd=s:
  <series_1>
    ,...,
  <series_n>
<series_1>
Her karakterin tek bir veri noktası olduğu ve serilerin virgülle ayrıldığı bir dize. Bir serideki bağımsız değerler sınırlandırılmaz. Desteklenen veri karakterleri ve bunlarla ilişkili değerleri aşağıda bulabilirsiniz:
  • A—Z; burada A = 0, B = 1 vb. olduğu için Z = 25 olarak kabul edilir.
  • a—z; burada a = 26, b = 27 vb. olduğu için z = 51 olarak kabul edilir.
  • 0(zero)—9; burada 0 = 52 ve 9 = 61 olacaktır
  • Alt çizgi karakteri (_) eksik bir değeri gösteriyor

Tek bir değeri kodlamak için aşağıdaki aracı veya bir URL dizesinin tamamını ölçeklendirip kodlamak için JavaScript kodunu kullanabilirsiniz.

Örnek:

Metin olarak kodlanmış chd=t:1,19,27,53,61,-1|12,39,57,45,51,27 dizesine eşdeğer Google
chd=s:BTb19_,Mn5tzb

Başa dön

Genişletilmiş Kodlama Biçimi

Genişletilmiş kodlama biçimi, iki alfanümerik karakterle kodlanan 0-4095 arası tam sayı değerleri belirtmenize olanak tanır. Basit kodlamadan biraz farklı bir söz dizimi kullanır.

chds parametresini basit kodlamayla kullanırsanız grafikteki veri öğesi boyutunun etkilenmeyeceğini ancak veri noktası işaretçisi değerlerinin etkilenmeyeceğini unutmayın.

Söz dizimi:

chd=e:
  <series_1>
    ,...,
  <series_n>
<seri_1>
Her iki karakterin tek bir veri noktası olduğu ve serilerin virgülle ayrıldığı bir dize. Bir serideki bağımsız değerler sınırlandırılmaz. Desteklenen kodlama karakterleri şunlardır:
  • A—Z
  • a—z
  • 0—9
  • dönem (.)
  • kısa çizgi (-)
  • Eksik değerler çift alt çizgi (__) ile gösterilir.

Kodlanmış değerlerin kısaltılmış bir açıklamasını burada bulabilirsiniz:

  • AA = 0, AB = 1 vb. AZ = 25 olarak devam eder.
  • Aa = 26, Ab = 27 vb. Az = 51 şeklinde devam eder.
  • A0 = 52, A1 = 53 vb. A9 = 61 şeklinde devam eder.
  • A- = 62, A. = 63
  • BA = 64, BB = 65 vb. BZ = 89 şeklinde devam eder.
  • Ba = 90, Bb = 91 vb. Bz = 115 şeklinde devam eder.
  • B0 = 116, B1 = 117 vb. B9 = 125 şeklinde devam eder.
  • B- = 126, B. = 127
  • 9A = 3904, 9B = 3905 vb. 9Z = 3929 şeklinde devam eder.
  • 9a = 3930, 9b = 3931 vb. 9z = 3955 şeklinde devam eder.
  • 90 = 3956, 91 = 3957 vb. 99 = 3965 şeklinde devam eder.
  • 9- = 3.966, 9. = 3.967
  • -A = 3968, -B = 3969 vb. -Z = 3993 şeklinde devam eder.
  • -a = 3994, -b = 3995 vb. -z = 4019 şeklinde devam eder.
  • -0 = 4020, -1 = 4021 vb. -9 = 4029 olarak devam eder.
  • -- = 4.030, -. = 4.031
  • .A = 4032, .B = 4033 vb. .Z = 4057 şeklinde devam eder.
  • .a = 4058, .b = 4059 vb. .z = 4083 şeklinde devam eder.
  • .0 = 4084, .1 = 4085 vb. .9 = 4093 şeklinde devam eder.
  • .- = 4.094, .. = 4.095

Tek bir değeri kodlamak için aşağıdaki aracı veya bir URL dizesinin tamamını ölçeklendirip kodlamak için JavaScript kodunu kullanabilirsiniz.

Örnek:

Metin olarak kodlanmış chd=t:90,1000,2700,3500|3968,-1,1100,250 dizesine eşdeğer Her biri dört değerden oluşan iki dizi içeren, genişletilmiş kodlamalı yığınlı çubuk grafik.
chd=e:BaPoqM2s,-A__RMD6

Başa dön

Veri Ölçeklendirme ve Eksen Ölçeklendirme

Veriler, açık olarak (özel ölçeklendirmeyle metin biçimi kullanılırken) veya dolaylı olarak (diğer tüm türler) grafiğinize uyacak şekilde ölçeklendirilir. Yani her grafik, sağladığınız verilerin gerçek aralığına değil, biçimin kullanılabilir aralığına sığacak şekilde ölçeklendirilir.

Farkları daha belirgin hale getirmek için verilerinizi, biçiminizin izin verdiği tüm değer aralıklarını kapsayacak şekilde ölçeklendirmek isteyebilirsiniz. Verilerinizi, kullandığınız biçime uyacak şekilde ölçeklendirerek veya veri aralığını açıkça belirterek (yani, özel ölçeklendirme ile metin biçimi kullanarak) verilerinizi ölçeklendirebilirsiniz.

Eksen etiketi değerlerinin tamamen bağımsız bir ölçekte hesaplandığını ve veri değerleriyle hiçbir ilgisi olmadığını, ancak varsayılan 0-100 aralığını kullandığını unutmayın. Ancak bu aralığı değiştirebilirsiniz.

Bu bölümde bu sorunların ikisi de açıklanmaktadır.

Veriler, biçim aralığına sığacak şekilde ölçeklendirilir [Pasta ve Venn dışındaki tüm grafikler]

Farklı biçimler farklı değer aralıklarını destekler. Verileriniz biçim aralığınıza göre ölçeklendirilir. Böylece, biçiminiz tarafından desteklenen maksimum değer eksenin üst kısmında, biçiminiz için minimum değer ise en altta oluşturulur. Aşağıdaki örneklerde aynı değer (100) temel metin biçimi (0-100 aralığı), özel ölçeklendirmeli metin (0-200 özel aralık) ve genişletilmiş kodlama biçimi (0-4095 aralığı) kullanılarak gösterilmektedir.

Temel Metin Biçimi Özel Ölçeklendirme ile Metin Biçimi Genişletilmiş Kodlama Biçimi
Özel ölçeklendirmeli temel metin içeren çubuk grafik

Değer: 100 (chd=t:100)

Biçim aralığı: 0-100

100, ölçeğin üzerinde 100/100 olarak oluşturulur.

Değer 100 (chd=t:100, chds=0,200)

Biçim aralığı: 0 - 200

100, ölçeğin üzerinde 100/200 olarak oluşturulur.

Değer: 100 (chd=e:Bk)

Biçim aralığı: 0—4095

100, ölçeğin üzerinde 100/4095 olarak oluşturulur.

Verilerinizi grafiğinize uyacak şekilde ölçeklendirmenin kolay bir yolu, ölçeklendirme içeren metin biçimi kullanmaktır. Daha karmaşık bir yöntem de verilerinizi biçiminizin desteklediği aralığa sığacak şekilde manuel olarak ölçeklendirmektir.

Pasta ve Venn Grafikleri: Pasta ve Venn grafiklerinde tüm değerler, grafiğin toplam ölçeğiyle değil, birbirleriyle görelidir.

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

Eksen etiketi aralığı bağımsız olarak hesaplanır [Çubuk, Çizgi, Radar, Dağılım ve Şamdan]

chxt parametresini kullanarak eksen değerlerini göstermeyi seçebilirsiniz. Bununla birlikte, eksen etiketlerinin grafik verilerini yansıtacak şekilde hesaplanmadığını, API tarafından bağımsız olarak hesaplandığını veya sizin tarafınızdan açık bir şekilde belirtildiğini unutmayın.

Varsayılan eksen aralığı 0-100'dür, veri değerlerinden veya veri ölçeklendirmeden bağımsız olarak. Örneğin, genişletilmiş kodlamanın (0-4095 aralığı) kullanıldığı bir grafikte varsayılan eksen etiketlerini kullanarak y eksenini görüntülerseniz aşağıda açıklandığı gibi açıkça değiştirmediğiniz sürece y ekseni etiketleri yine 0-100 olarak gösterilir. 100 veri değerine sahip bir genişletilmiş kodlama çubuk grafiğindeki varsayılan y ekseni etiketlerini gösteren bir örneği burada bulabilirsiniz:


chd=e:Bk (chd=t:100 değerine eşdeğer)

Ancak eksen aralığını chxr parametresini kullanarak belirtebilirsiniz. Eksen değerlerinin gerçek veri değerlerini yansıtmasını istiyorsanız biçim aralığınızla eşleşen minimum ve maksimum eksen değerleri belirtmeniz gerekir. Temel metin biçiminin hâlihazırda 0-100 arasında bir ölçeğe sahip olduğunu unutmayın. Bu nedenle, temel metin biçimlendirmesi kullanıyorsanız (özel ölçeklendirme olmadan) eksen değerleri, varsayılan olarak veri değerleriyle eşleşir. Bunu birkaç örnekle açıklayalım. Aşağıda aynı verilere (15,26,51,61), ancak farklı biçimlere ve farklı eksen ölçeklerine sahip üç grafik verilmiştir:

Basit Kodlama, Eksen Ölçeklendirme Yok Basit Kodlama, Ölçekli Eksen Temel Metin, Eksen Ölçeklendirmesi Yok

chd=s:Paz9
 

Basit kodlama değeri aralığı: 0-61

Varsayılan eksen aralığı (0-100)

Kodlama aralığı, etiketin eksen aralığından daha kısa olduğu için çubuklar eksen etiketindeki gerçek değere karşılık gelmez. Bununla birlikte, çubuklar birbiriyle doğru bir şekilde oranlanır.

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

Basit kodlama değeri aralığı: 0-61

Eksen aralığı açıkça 0-61 olarak ayarlandı

Kodlama aralığı ve eksen aralığı eşit olduğundan çubuklar eksendeki doğru değerlerine karşılık gelir.

chd=t:15,26,51,61
 

Temel metin biçimi değer aralığı: 0-100

Varsayılan eksen aralığı (0-100)

Kodlama aralığı ve eksen aralığı tekrar aynıdır. Böylece eksende varsayılan olarak doğru veri değerleri gösterilir.

Metin biçimi aralığı, basit kodlama biçimi aralığından (100 birim - 61 birim) daha geniş olduğundan buradaki çubuklar diğer grafiklere göre daha küçüktür ancak tüm grafikler birbiriyle orantılı olarak kalır.

Başa dön

JavaScript Kodlama Komut Dosyası

Gerçek dünyada verileri manuel olarak değil, programatik olarak kodlamak muhtemelen daha kolaydır.

Aşağıdaki JavaScript snippet'i, tek bir seriyi basit veya extended kodlama olarak kodlar ve veri değerlerini, bu kodlamanın tüm aralığına sığacak şekilde ölçeklendirir. Veriler, pozitif sayılardan oluşan bir dizi olarak sağlanmalıdır. Pozitif sayı olmayan herhangi bir değer, alt çizgi karakteri (_) kullanılarak eksik değer olarak kodlanır.

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

Verileri kodlamak için simpleEncode veya extendedEncode işlevini çağırarak verilerinizi içeren diziyi (valueArray) ve verilerinizin maksimum değerini (maxValue) iletin. En yüksek değer ile grafiğin üst kısmı arasında boşluk bırakmak için maxValue değerini veri dizisindeki en büyük sayıdan büyük olacak şekilde aşağıdaki gibi ayarlayın:

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

Başa dön