Veri Biçimleri

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

İçindekiler

Genel bakış

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

  • Temel metin biçimi, aslında 0-100 arasında (0-100 dahil) basit kayan nokta sayılarıdır. Bu biçimin elle okunması ve yazılması kolaydır.
  • Otomatik ölçeklendirmeli 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 bir aralık belirtmenize olanak tanır.
  • Basit kodlama biçimi, tek bir alfanümerik karakterle kodlanmış 0-61 dahil tam sayı değerleri belirtmenizi sağlar. Bu kodlama, tüm veri biçimleri arasında en kısa veri dizesini sağlar (9'dan büyük değerler varsa).
  • Genişletilmiş kodlama biçimi, iki alfanümerik karakterle kodlanmış, 0-4095 arası (dahil) tam sayı değerleri belirtmenize olanak tanır. Genişletilmiş kodlama en çok, çok fazla veri ve geniş bir veri aralığı içeren grafikler için uygundur.

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

Verileri basit veya genişletilmiş kodlama biçimlerinde kodlamanız için bir JavaScript snippet'i sağlarız. Alternatif olarak, birçok Google Grafiği grubu üyesi, biçimlendirmeye yardımcı olmaları için diğer kitaplıklara da katkıda bulundu. Bunları bulmak için arşivlerde arama yapabilirsiniz.

Temel Metin Biçimi

Temel metin biçimli veriler, 0-100 arasındaki kayan nokta değerlerini (ikisi de dahil) sayı olarak belirtmenize olanak tanır. Sıfırın altındaki değerler eksik olarak işaretlenir; 100'ün üzerindeki değerler ise 100'e kısaltılır. Temel metin biçiminin avantajı, değerlerin URL'de kolay okunup anlaşılabilmesi ve varsayılan eksen etiketlerinin veri değerlerini doğru şekilde göstermesidir. Ancak metin biçimlendirme (basit veya özel parametrelerle) tüm biçimler arasında en uzun veri dizesini oluşturur.

Verileriniz metin biçimlendirme 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çimlendirmesini 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 arasında (0 ve 100 dahil) kayan nokta sayılarıdır. Sıfırdan küçük değerler veya alt çizgi karakteri ( _ ) boş değer olarak kabul edilir. 100'ün üzerindeki değerler, 100'e kısaltılır.

 

Örnek:

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

Başa dön

Otomatik Ölçeklendirmeli 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 en üstünde, en küçük değer (tüm değerler sıfırdan büyükse sıfır) altta olacak şekilde ölçeklendirilir.

Grafikte gösterilen tüm işaretçi değerleri ölçeklendirilmiş değerleri değil, gerçek değerlerini görüntüler.

Bu özellik yalnızca metin biçimlendirilmiş değerlerle çalışır ve tüm grafik türleriyle çalışmaz. 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 grafikleri için 0'dan küçük değerleri pasta kullanmamanız gerektiğini unutmayın.

Metin kodlamalı 5 değer içeren çubuk grafik.
chd=t:-5,30,-30,50,80,200
chds=a

Başa dön

Özel Ölçeklendirmeli Metin Biçimi

Özel ölçeklendirmeli metin biçimi, grafiğiniz için özel bir aralık belirtmenize olanak tanıyan bir ölçeklendirme parametresiyle birlikte rastgele pozitif veya negatif kayan nokta sayıları belirtmenize olanak tanır. Verilerinizi belirli bir aralıkla sınırlandırmak veya verileri bir grafiğe sığacak şekilde manuel olarak ölçeklendirmek istemiyorsanız bu grafik yararlıdır. Bu biçim, sıfır satırını sizin için gerektiği gibi 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çimler arasında en uzun veri dizesini oluşturur.

Söz dizimi:

Özel ölçeklendirmeli 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 karakteri (|) ile ayrılmış birden fazla seri. Her bir seride izin verilen değer aralığı chds parametresiyle belirtilir.
chd
Her veri dizisi için izin verilen bir veya daha fazla minimum ve izin verilen maksimum değerlerden oluşan, virgüllerle ayrılmış bir gruptur. Hem maksimum hem de minimum değer sağlamanız gerekir. Veri serilerinden daha az sayıda çift sağlarsanız son çift, kalan tüm veri serilerine uygulanır. Bunun eksen aralığını değiştirmediğini, 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österimiyle belirtebilirsiniz.
<series_1_min>
İlk seride izin verilen minimum değer. Daha düşük değerler eksik olarak işaretlenir.
<series_1_max>
İlk seride izin verilen maksimum değer. Yüksek değerler bu değere kısaltılır.

 

Örnek:

Min./maks. ölçeği -80-140 olan bir çubuk grafik. 30, -60, 50, 140 ve 80 değerleri ölçek dahilinde olduğundan kısaltılmaz. Sıfır çizgisi sizin için ayarlanır.80/(140 + 80) = y ekseninin yukarısına doğru 0, 36 olarak ayarlanır.

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

5 değer içeren çubuk grafik ve veri ölçeklendirmeli metin kodlaması.

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 (ikisi de dahil) arasında tam sayı değerleri belirtmenize olanak tanır. Bu, tüm veri biçimleri arasında en kısa veri dizesi URL'sini sağlar. 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ğerinin desteklendiği için veri ayrıntı düzeyinin görüntülü reklam ayrıntı düzeyinden çok daha büyük olması ve değerlerin çok az olması (çok fazla değil ama büyük grafiklerde görünür) olmasıdır.

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

Söz dizimi:

chd=s:
  <series_1>
    ,...,
  <series_n>
<seri_1>
Her karakterin tek bir veri noktası olduğu ve serilerin virgülle ayrıldığı bir dize. Bir serideki bağımsız değerler ayrılmaz. Desteklenen veri karakterleri ve karşılık gelen değerleri aşağıda verilmiştir:
  • A—Z; burada A = 0, B = 1, vb. ise Z = 25 olacak şekilde
  • a—z; burada a = 26, b = 27, vb. z = 51 olacak şekilde
  • 0(zero)—9; burada 0 = 52 ve 9 = 61
  • Alt çizgi karakteri (_), eksik bir değeri belirtir

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 kodlamalı chd=t:1,19,27,53,61,-1|12,39,57,45,51,27 dizesine eşdeğerdir <title="chs=320x200&cht=bvs,chd=s:btb19_,mn5tzb&chco=ffcc33,ffe9a4&chxr=0,0,61,5&chxt=y" alt="Her biri iki dizi ve altı değer içeren yığınlı çubuk grafik,
xv3t20">basit kodlama."/3v4t2yeşertlemechd=s:BTb19_,Mn5tzb

Başa dön

Genişletilmiş Kodlama Biçimi

Genişletilmiş kodlama biçimi, iki alfanümerik karakterle kodlanmış, 0-4095 dahil 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 etkileneceğ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. 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.

Aşağıda, kodlanmış değerlerin kısaltılmış bir açıklamasını görebilirsiniz:

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

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 kodlamalı chd=t:90,1000,2700,3500|3968,-1,1100,250 dizesine eşdeğerdir Her biri dört değerden oluşan iki dizi içeren yığınlı çubuk grafik ve genişletilmiş kodlama.
chd=e:BaPoqM2s,-A__RMD6

Başa dön

Veri Ölçeklendirme ve Eksen Ölçeklendirme

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

Farklılıkları daha belirgin hale getirmek için verilerinizi biçiminizin izin verdiği tüm değer aralığını kapsayacak şekilde ölçeklendirmek isteyebilirsiniz. Verilerinizi kullandığınız biçime sığacak şekilde ölçeklendirerek veya veri aralığını açıkça belirterek (özel ölçeklendirme içeren metin biçimi kullanın) ö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 hariç 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çiminizin desteklediği maksimum değer o eksenin üstünde, biçiminizin minimum değeri ise altta oluşturulur. Aşağıdaki örneklerde, temel metin biçimi (0-100 aralığı), özel ölçeklenmiş metin (0-200 arası özel aralık) ve genişletilmiş kodlama biçimi (0-4095 aralığı) kullanılarak aynı değer (100) gösterilmektedir.

Temel Metin Biçimi Özel Ölçeklendirmeli Metin Biçimi Genişletilmiş Kodlama Biçimi
Özel ölçeklemeli, basit metin içeren çubuk grafik

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

Biçim aralığı: 0-100

100, ölçeğin 100/100 yukarısı olarak oluşturulur.

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

Biçim aralığı: 0-200

100, ölçeğin 100/200'ü kadar oluşturulur.

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

Biçim aralığı: 0-4095

100, ölçeğin yukarısında 100/4095 olarak oluşturulur.

Verilerinizi grafiğinize sığacak şekilde ölçeklendirmenin kolay bir yolu, ölçeklendirmeli metin biçimi kullanmaktır. Verilerinizi, biçiminizin desteklediği aralığa sığacak şekilde manuel olarak ölçeklendirmek daha karmaşık bir yöntemdir.

Pasta ve Venn Grafikleri: Pasta ve Venn grafiklerinde, tüm değerler grafiğin toplam ölçeğiyle değil, birbiriyle 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örüntülemeyi seçebilirsiniz. Bununla birlikte, eksen etiketlerinin grafik verilerini yansıtacak şekilde hesaplanmadığını, bunun yerine API tarafından bağımsız olarak hesaplandığını veya açıkça sizin tarafınızdan belirlendiğini unutmamak önemlidir.

Veri değerleri veya veri ölçeklendirmeden bağımsız olarak varsayılan eksen aralığı 0-100'dür. Dolayısıyla, örneğin genişletilmiş kodlama (aralık 0-4095) kullanan bir grafikte varsayılan eksen etiketlerini kullanarak y eksenini görüntülerseniz, aşağıda açıklandığı gibi açık bir şekilde değiştirmediğiniz sürece y ekseni etiketleri yine 0-100 değerini okur. Aşağıda, veri değeri 100 olan genişletilmiş bir kodlama çubuk grafiğinde varsayılan y ekseni etiketlerini gösteren bir örnek verilmiştir:


chd=e:Bk (chd=t:100 tutarına eşdeğer)

Ancak chxr parametresini kullanarak eksen aralığını 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 belirlemeniz gerekir. Temel metin biçiminin 0-100 arasında 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), farklı biçimlere ve farklı eksen ölçeklerine sahip üç grafik verilmiştir:

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

chd=s:Paz9
 

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

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

Kodlama aralığı, etiket ekseni aralığından küçük olduğundan çubuklar, eksen etiketindeki gerçek değere karşılık gelmez. Bununla birlikte, çubuklar birbirleriyle düzgün bir şekilde orantılıdır.

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

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

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

Kodlama aralığı ve eksen aralığı eşit olduğundan çubuklar eksende 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ığı yine aynı olur. Böylece varsayılan olarak eksende doğru veri değerleri gösterilir.

Metin biçimi aralığı, basit kodlama biçimi aralığından (100 birim veya 61 birim) daha büyük olduğundan, buradaki çubuklar diğer grafiklerdekinden daha küçüktür ancak tüm grafikler birbirleriyle orantılı kalır.

Başa dön

JavaScript Kodlama Komut Dosyası

Gerçek hayatta verilerin manuel olarak kodlanması yerine programlı olarak kodlanması muhtemelen daha kolaydır.

Aşağıdaki JavaScript snippet'i tek bir seriyi basit veya extended kodlamaya kodlar ve veri değerlerini bu kodlamanın tamamına sığacak şekilde ölçeklendirir. Veriler, pozitif sayı dizisi olarak sağlanmalıdır. Pozitif sayı olmayan tüm değerler, 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ğırın ve 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 bir boşluk oluşturmak için maxValue değerini veri dizisindeki en büyük sayıdan daha büyük olacak şekilde 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