Zaman çizgileri

Genel bakış

Zaman çizelgesi, bir dizi kaynağın zaman içinde nasıl kullanıldığını gösteren bir grafiktir. Bir yazılım projesi yönetiyorsanız ve kimin ne zaman ne yaptığını göstermek istiyorsanız veya bir konferans düzenliyorsanız ve toplantı odaları planlamanız gerekiyorsa zaman çizelgesi genellikle makul bir görselleştirme seçeneğidir. Popüler zaman çizelgelerinden biri de Gantt şemasıdır.

Not: JavaScript Date nesnelerinde, aylar sıfırdan başlamak üzere dizine eklenir ve 11 ay boyunca uzatılır. Ocak 0, ay ise 11'dir. Zaman çizelgeniz bir aylığına kapalı görünüyorsa bunun nedeni büyük olasılıkla budur. Daha fazla bilgi için Tarihler ve Saatler sayfasına bakın.

Basit bir örnek

Amerikalı başkanların şartlarını ne zaman sunduklarını görmek istediğinizi varsayalım. Buradaki "kaynaklar" başkanlardır. Biz de her bir başkanın dönemini çubuk şeklinde gösterebiliriz:

Fareyle bir çubuğun üzerine geldiğinizde daha ayrıntılı bilgiler içeren bir ipucu gösterilir.

timeline paketi yüklendikten sonra sayfa oluşturulurken grafiği çizmek için bir geri çağırma tanımlandıktan sonra drawChart() yöntemi, bir google.visualization.Timeline() örneği oluşturur ve ardından her başkan için bir satır içeren bir dataTable doldurur.

dataTable sütunundaki ilk sütun, başkanın adı, ikinci ve üçüncü sütunlar başlangıç ve bitiş zamanlarıdır. Bunlar Date JavaScript türündedir ancak düz sayılar da olabilir.

Son olarak, grafiğin draw() yöntemini çağırırız. Bu yöntem, drawChart() öğesinin ilk satırında container belirtildiğinde kullanılan aynı tanımlayıcıya (timeline) sahip bir div içinde gösterilir.

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['timeline']});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var container = document.getElementById('timeline');
        var chart = new google.visualization.Timeline(container);
        var dataTable = new google.visualization.DataTable();

        dataTable.addColumn({ type: 'string', id: 'President' });
        dataTable.addColumn({ type: 'date', id: 'Start' });
        dataTable.addColumn({ type: 'date', id: 'End' });
        dataTable.addRows([
          [ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
          [ 'Adams',      new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
          [ 'Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);

        chart.draw(dataTable);
      }
    </script>
  </head>
  <body>
    <div id="timeline" style="height: 180px;"></div>
  </body>
</html>

Google Grafikleri zaman çizelgeleri özelleştirilebilir. Aşağıdaki örneklerde, zaman çizelgelerinizin görünümünü özelleştirmenin bazı yaygın yolları gösterilmiştir.

Çubukları etiketleme

Satır etiketlerine ("Washington", "Adams", "Jefferson") ek olarak bağımsız çubukları etiketleyebilirsiniz. Burada, satır etiketlerini basit sayılar olarak değiştiriyor ve her bir başkanın adını çubuğa ekliyoruz.

Bu kodda, çubuk etiketleri içerecek şekilde verilerimize yeni bir sütun ekledik: her başkanın tam adı. dataTable zaman çizelgesinde dört sütun varsa ilki satır etiketi, ikincisi bar etiketi, üçüncü ve dördüncüsü başlangıç ve bitiş olarak yorumlanır.

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example2.1');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();

    dataTable.addColumn({ type: 'string', id: 'Term' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });

    dataTable.addRows([
      [ '1', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ '2', 'John Adams',        new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
      [ '3', 'Thomas Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);

    chart.draw(dataTable);
  }
</script>

<div id="example2.1" style="height: 200px;"></div>

Yukarıdaki yeni satır etiketlerimiz çok bilgilendirici değildir. Bu nedenle zaman çizelgesi showRowLabels seçeneğiyle bunları kaldıralım.

Varsayılan olarak showRowLabels, true şeklindedir. false olarak ayarlanırsa satır etiketleri kaldırılır:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example2.2');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Term' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ '1', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ '2', 'John Adams',        new Date(1797, 2, 4),  new Date(1801, 2, 4) ],
      [ '3', 'Thomas Jefferson',  new Date(1801, 2, 4),  new Date(1809, 2, 4) ]]);

    var options = {
      timeline: { showRowLabels: false }
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example2.2" style="height: 180px;"></div>

Gelişmiş bir örnek

Zaman çizelgemizi daha karmaşık hale getirmek için başkan yardımcılarını ve eyalet sekreterlerini grafiğimize ekleyelim. John Adams başkan yardımcısı olmadan önce, Tomas Jefferson da devlet başkanı ve son olarak başkan yardımcısıydı.

Zaman çizelgelerinde bir kaynak, birden fazla satırda görünse bile aynı renge sahip olur. Dolayısıyla, aşağıdaki grafikte her kullanıcı tutarlı bir renkle gösterilir.

Bazı resmi sekreterler çok kısa bir süre hizmet verdi. Bu nedenle bu grafik, başarılı bir etiketleme testidir. Etiketler, çubuk için çok büyük olduğunda çubuğun boyutuna bağlı olarak kısaltılır veya kaldırılır. Kullanıcılar her zaman araç çubuğunun üzerine gelerek ipucu bilgilerini alabilir.

Zaman çizelgesi, satır öğelerini, başkan yardımcısının tecrübesiyle sıralar halinde yerleştirir. Çünkü bunlar, aşağıdaki kodda sıralanmıştır. Bununla birlikte, çubukların düzeni yalnızca başlangıç ve bitiş saatlerine göre belirlenir. Bu nedenle, dataTable eyaletindeki iki sekreteri veya iki cumhurbaşkanını değiştirmenin grafik üzerinde hiçbir etkisi yoktur.

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {

    var container = document.getElementById('example3.1');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Position' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'President', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ 'President', 'John Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
      [ 'President', 'Thomas Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ],
      [ 'Vice President', 'John Adams', new Date(1789, 3, 21), new Date(1797, 2, 4)],
      [ 'Vice President', 'Thomas Jefferson', new Date(1797, 2, 4), new Date(1801, 2, 4)],
      [ 'Vice President', 'Aaron Burr', new Date(1801, 2, 4), new Date(1805, 2, 4)],
      [ 'Vice President', 'George Clinton', new Date(1805, 2, 4), new Date(1812, 3, 20)],
      [ 'Secretary of State', 'John Jay', new Date(1789, 8, 25), new Date(1790, 2, 22)],
      [ 'Secretary of State', 'Thomas Jefferson', new Date(1790, 2, 22), new Date(1793, 11, 31)],
      [ 'Secretary of State', 'Edmund Randolph', new Date(1794, 0, 2), new Date(1795, 7, 20)],
      [ 'Secretary of State', 'Timothy Pickering', new Date(1795, 7, 20), new Date(1800, 4, 12)],
      [ 'Secretary of State', 'Charles Lee', new Date(1800, 4, 13), new Date(1800, 5, 5)],
      [ 'Secretary of State', 'John Marshall', new Date(1800, 5, 13), new Date(1801, 2, 4)],
      [ 'Secretary of State', 'Levi Lincoln', new Date(1801, 2, 5), new Date(1801, 4, 1)],
      [ 'Secretary of State', 'James Madison', new Date(1801, 4, 2), new Date(1809, 2, 3)]
    ]);

    chart.draw(dataTable);
  }
</script>

<div id="example3.1" style="height: 200px;"></div>

Satırları tek bir satıra yerleştirme

Pop-up'ların aksine aynı anda yalnızca bir ABD başkanı olabilir. Bu nedenle, tüm satırlarımızı "Başkan" olarak etiketlediğimizde zaman çizelgesi, daha net bir sunum için ilk grafiğimizin üç satırını bir satırda birleştirir. Bu davranışı groupByRowLabel seçeneğiyle kontrol edebilirsiniz.

Varsayılan davranış şu şekildedir:

Şimdi groupByRowLabel öğesini false olarak ayarlayalım ve bir satırı üçe bölelim:

Gruplandırmayı devre dışı bırakacak kod:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example4.2');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();

    dataTable.addColumn({ type: 'string', id: 'Role' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'President', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ 'President', 'John Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
      [ 'President', 'Thomas Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);

    var options = {
      timeline: { groupByRowLabel: false }
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example4.2" style="height: 200px;"></div>

Renkleri kontrol etme

Google Listeler, varsayılan olarak estetik ve okunabilirlik açısından optimize edilmiş renkleri (görme engelli kullanıcılar da dahil) seçer. Varsayılan davranışı colorByRowLabel, singleColor, backgroundColor ve colors seçenekleriyle uyarlayabilirsiniz.

colorByRowLabel seçeneği, aynı satırdaki tüm çubukların aynısını renklendirir. Çubuklarınız arasında boşluklar olduğunda bu iyi bir seçim olabilir.

colorByRowLabel için varsayılan değer false, burada bunu geçersiz kılıp true olarak ayarlıyoruz.

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {

    var container = document.getElementById('example5.1');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Room' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'Magnolia Room', 'Beginning JavaScript',       new Date(0,0,0,12,0,0),  new Date(0,0,0,13,30,0) ],
      [ 'Magnolia Room', 'Intermediate JavaScript',    new Date(0,0,0,14,0,0),  new Date(0,0,0,15,30,0) ],
      [ 'Magnolia Room', 'Advanced JavaScript',        new Date(0,0,0,16,0,0),  new Date(0,0,0,17,30,0) ],
      [ 'Willow Room',   'Beginning Google Charts',    new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Willow Room',   'Intermediate Google Charts', new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Willow Room',   'Advanced Google Charts',     new Date(0,0,0,16,30,0), new Date(0,0,0,18,0,0) ]]);

    var options = {
      timeline: { colorByRowLabel: true }
    };

    chart.draw(dataTable, options);
  }

</script>

<div id="example5.1" style="height: 100px;"></div>

Bulundukları satırdan bağımsız olarak tüm çubukların aynı renkte olmasını istiyorsanız singleColor seçeneğini kullanın:

Aşağıdaki kodda, singleColor tüm çubukları açık yeşil olarak renklendirmek için bir on altılık değere ayarlanmıştır:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {

    var container = document.getElementById('example5.2');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();

    dataTable.addColumn({ type: 'string', id: 'Room' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'Magnolia Room',  'CSS Fundamentals',    new Date(0,0,0,12,0,0),  new Date(0,0,0,14,0,0) ],
      [ 'Magnolia Room',  'Intro JavaScript',    new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Magnolia Room',  'Advanced JavaScript', new Date(0,0,0,16,30,0), new Date(0,0,0,19,0,0) ],
      [ 'Gladiolus Room', 'Intermediate Perl',   new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Gladiolus Room', 'Advanced Perl',       new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Gladiolus Room', 'Applied Perl',        new Date(0,0,0,16,30,0), new Date(0,0,0,18,0,0) ],
      [ 'Petunia Room',   'Google Charts',       new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Petunia Room',   'Closure',             new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Petunia Room',   'App Engine',          new Date(0,0,0,16,30,0), new Date(0,0,0,18,30,0) ]]);

    var options = {
      timeline: { singleColor: '#8d8' },
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example5.2" style="height: 150px;"></div>

backgroundColor seçeneğiyle satırların arka plan rengini kontrol edebilirsiniz:

backgroundColor onaltılık değer olarak belirtilir. Burada, parçaları bir konferansta göstermek için colorByRowLabel ile eşliyoruz:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example5.3');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Room' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'Magnolia Room',  'CSS Fundamentals',    new Date(0,0,0,12,0,0),  new Date(0,0,0,14,0,0) ],
      [ 'Magnolia Room',  'Intro JavaScript',    new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Magnolia Room',  'Advanced JavaScript', new Date(0,0,0,16,30,0), new Date(0,0,0,19,0,0) ],
      [ 'Gladiolus Room', 'Intermediate Perl',   new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Gladiolus Room', 'Advanced Perl',       new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Gladiolus Room', 'Applied Perl',        new Date(0,0,0,16,30,0), new Date(0,0,0,18,0,0) ],
      [ 'Petunia Room',   'Google Charts',       new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Petunia Room',   'Closure',             new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Petunia Room',   'App Engine',          new Date(0,0,0,16,30,0), new Date(0,0,0,18,30,0) ]]);

    var options = {
      timeline: { colorByRowLabel: true },
      backgroundColor: '#ffd'
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example5.3" style="height: 150px;"></div>

Ardından arka plan rengini satır dizinine göre, alternatif veya alternatif olmayan olarak ayarlamak için alternatingRowStyle seçeneğini (etkin v51+) kullanın:

<script src="https://www.gstatic.com/charts/loader.js"></script>

<script>
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example5.4');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Room' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'Magnolia Room',  'CSS Fundamentals',    new Date(0,0,0,12,0,0),  new Date(0,0,0,14,0,0) ],
      [ 'Magnolia Room',  'Intro JavaScript',    new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Magnolia Room',  'Advanced JavaScript', new Date(0,0,0,16,30,0), new Date(0,0,0,19,0,0) ],
      [ 'Gladiolus Room', 'Intermediate Perl',   new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Gladiolus Room', 'Advanced Perl',       new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Gladiolus Room', 'Applied Perl',        new Date(0,0,0,16,30,0), new Date(0,0,0,18,0,0) ],
      [ 'Petunia Room',   'Google Charts',       new Date(0,0,0,12,30,0), new Date(0,0,0,14,0,0) ],
      [ 'Petunia Room',   'Closure',             new Date(0,0,0,14,30,0), new Date(0,0,0,16,0,0) ],
      [ 'Petunia Room',   'App Engine',          new Date(0,0,0,16,30,0), new Date(0,0,0,18,30,0) ]]);

    var options = {
      timeline: { colorByRowLabel: true },
      alternatingRowStyle: false
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example5.4" style="height: 150px;"></div>

Çubukların renklerini ayrı ayrı kontrol etmek istiyorsanız colors seçeneğini kullanın:

colors, onaltılık değerler dizisini alır ve çubuklara şu sırayla uygulanır:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example5.5');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Role' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'President', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ 'President', 'John Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
      [ 'President', 'Thomas Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);

    var options = {
      colors: ['#cbb69d', '#603913', '#c69c6e'],
    };

    chart.draw(dataTable, options);
  }

</script>

<div id="example5.5" style="height: 150px;"></div>

Grafiğiniz listelenenden daha fazla renk gerektiriyorsa grafikte singleColor, listedeki ilk renge ayarlanmış gibi davranır. (Bu durum yalnızca zaman çizelgeleri için değil, tüm Google Listeleri için geçerlidir.)

Bağımsız çubukların renklerini kontrol etmenin bir başka yolu da stil rolü olan bir sütun kullanmaktır.

Stil sütunu eklemek ve doldurmak için kod:

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example5.6');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Role' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'string', id: 'style', role: 'style' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'President', 'George Washington', '#cbb69d', new Date(1789, 3, 30), new Date(1797, 2, 4)],
      [ 'President', 'John Adams', '#603913', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
      [ 'President', 'Thomas Jefferson', '#c69c6e', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);

    chart.draw(dataTable);
  }

</script>

<div id="example5.6" style="height: 150px;"></div>

Yazı tiplerini değiştirme

rowLabelStyle içeren her satırın etiketleri için yazı tipini ve yazı tipini, barLabelStyle içeren her çubuktaki etiketleri seçebilirsiniz. Her ikisi de aşağıda gösterilmiştir.

Not: Kullanıcılarınızın tarayıcılarının oluşturabileceği yazı tipleri seçtiğinizden emin olun.

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

<script type="text/javascript">
  google.charts.load("current", {packages:["timeline"]});
  google.charts.setOnLoadCallback(drawChart);
  function drawChart() {
    var container = document.getElementById('example6.1');
    var chart = new google.visualization.Timeline(container);
    var dataTable = new google.visualization.DataTable();
    dataTable.addColumn({ type: 'string', id: 'Role' });
    dataTable.addColumn({ type: 'string', id: 'Name' });
    dataTable.addColumn({ type: 'date', id: 'Start' });
    dataTable.addColumn({ type: 'date', id: 'End' });
    dataTable.addRows([
      [ 'Washington', 'George Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
      [ 'Adams', 'John Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
      [ 'Jefferson', 'Thomas Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);

    var options = {
      colors: ['#cbb69d', '#603913', '#c69c6e'],
      timeline: { rowLabelStyle: {fontName: 'Helvetica', fontSize: 24, color: '#603913' },
                     barLabelStyle: { fontName: 'Garamond', fontSize: 14 } }
    };

    chart.draw(dataTable, options);
  }
</script>

<div id="example6.1" style="height: 200px;"></div>

barLabel metninin rengini ayarlayamazsınız.

Çakışan kılavuz çizgileri

Google Listeleri, zaman çizelgesi kılavuz çizgilerinin belirsizleşmesini önlemek için çubuk uç noktalarında küçük ayarlamalar yapar. Bu durumu önlemek için avoidOverlappingGridLines seçeneğini false olarak ayarlayın.

Bunun etkisini göstermek için biri çakışma çizgili, diğeri olmayan ızgara örneğine bakalım.

Kılavuz çizgileri ile çakışan kod:

  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

  <script type="text/javascript">
    google.charts.load("current", {packages:["timeline"]});
    google.charts.setOnLoadCallback(drawChart);
    function drawChart() {
      var container = document.getElementById('example7.1');
      var chart = new google.visualization.Timeline(container);
      var dataTable = new google.visualization.DataTable();
      dataTable.addColumn({ type: 'string', id: 'Room' });
      dataTable.addColumn({ type: 'string', id: 'Name' });
      dataTable.addColumn({ type: 'date', id: 'Start' });
      dataTable.addColumn({ type: 'date', id: 'End' });
      dataTable.addRows([
        [ 'Magnolia Room', 'Google Charts', new Date(0,0,0,14,0,0), new Date(0,0,0,15,0,0)],
        [ 'Magnolia Room', 'App Engine',    new Date(0,0,0,15,0,0), new Date(0,0,0,16,0,0)]]);

      var options = {
        timeline: { showRowLabels: false },
        avoidOverlappingGridLines: false
      };

      chart.draw(dataTable, options);
    }

  </script>

  <div id="example7.1" style="height: 200px;"></div>

İpuçlarını özelleştirme

Beş sütunlu bir veri tablosuna ipucu sütunu ekleyerek kullanıcıların zaman çizelgesi çubuklarının üzerine geldiklerinde ne göreceğini özelleştirebilirsiniz. Varsayılan olmayan ipuçları sağlamak üzere veri tablonuzun her satırında beş sütun (satır etiketi, çubuk etiket, araç ipucu, başlangıç ve bitiş) bulunmalıdır:

Fareyle bir çubuğun üzerine geldiğinizde, üçüncü sütunda tanımlanan metni içeren bir ipucu gösterilir. Bu grafikte, ipuçlarımızın üçüncü sütunda bulunabilmesi için ikinci sütunu sahte değerler (burada, null) olarak ayarlamamız gerekir.

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['timeline']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {
        var container = document.getElementById('timeline-tooltip');
        var chart = new google.visualization.Timeline(container);
        var dataTable = new google.visualization.DataTable();

        dataTable.addColumn({ type: 'string', id: 'President' });
        dataTable.addColumn({ type: 'string', id: 'dummy bar label' });
        dataTable.addColumn({ type: 'string', role: 'tooltip' });
        dataTable.addColumn({ type: 'date', id: 'Start' });
        dataTable.addColumn({ type: 'date', id: 'End' });
        dataTable.addRows([
          [ 'Washington', null, 'George', new Date(1789, 3, 29), new Date(1797, 2, 3) ],
          [ 'Adams', null, 'John', new Date(1797, 2, 3),  new Date(1801, 2, 3) ],
          [ 'Jefferson', null, 'Thomas', new Date(1801, 2, 3),  new Date(1809, 2, 3) ]]);

        chart.draw(dataTable);
      }
    </script>
  </head>
  <body>
    <div id="timeline-tooltip" style="height: 180px;"></div>
  </body>
</html>

Yükleniyor

google.charts.load paket adı timeline:

  google.charts.load("current", {packages: ["timeline"]});

Görselleştirmenin sınıf adı: google.visualization.Timeline

  var visualization = new google.visualization.Timeline(container);

Veri biçimi

Satırlar: Tablodaki her satır, zaman çizelgesi çubuğunu temsil eder.

Sütunlar:

  Sütun 0 1. Sütun 2. Sütun 3. Sütun 4. Sütun
Amaç: Satır etiketi Çubuk etiketi (isteğe bağlı) İpucu (isteğe bağlı) Başlat Bitiş
Veri Türü: string string string sayı veya tarih sayı veya tarih
Rol: veri veri ipucu veri veri

 

Yapılandırma seçenekleri

Ad
alternatifStil

Grafiğin arka plan rengini satır dizinine göre değiştirip değiştirmemesi (ör. eşit şekilde dizine eklenen satırların daha koyu bir tonla arka planının tonlaması mı). Yanlış değerine ayarlanmışsa grafik arka planı tek tip bir renk olur. Doğruysa grafik arka planı, tonunu satır dizinine göre değiştirir. (Not: sürüm 51 ve sonraki sürümler)

Tür: boole
Varsayılan: true
Üstü çizili ızgara satırları kullanmaktan kaçının

Görüntülü reklam öğelerinin (ör. zaman çizelgesindeki çubuklar), ızgara çizgilerini belirsiz kılıp kaplamaması. Yanlış değerine ayarlanırsa ızgara satırları görüntülü reklam öğeleri tarafından kapsanabilir. Doğru değerine ayarlanırsa görüntülü öğeler, ızgara çizgilerinin görünür olmasını sağlamak için değiştirilebilir.

Tür: boole
Varsayılan: true
arka plan rengi

Grafiğin ana alanının arka plan rengi. Basit bir HTML renk dizesi (ör. 'red' veya '#00cc00') ya da aşağıdaki özelliklere sahip bir nesne olabilir.

Tür: dize veya nesne
Varsayılan: "white"
renkler

Grafik öğeleri için kullanılacak renkler. Her bir öğenin HTML renk dizesi olduğu bir dize dizisi. Örneğin: colors:['red','#004411'].

Tür: Dize dizisi
Varsayılan: varsayılan renkler
Etkileşimi etkinleştir

Grafiğin kullanıcı tabanlı etkinliklerde bulunup bulunmadığı veya kullanıcı etkileşimine tepki verip vermediği. Yanlış değerine ayarlanırsa grafik, "select" (seç) veya diğer etkileşime dayalı etkinlikleri atlar (ancak hazır veya hata etkinliklerini göndermez) ve fareyle üzerine gelindiğinde gösterilen metni görüntülemez veya kullanıcı girişine bağlı olarak başka şekilde değişiklik yapmaz.

Tür: boole
Varsayılan: true
yazı tipi adı

Grafikteki tüm metinlerin varsayılan yazı tipi yüzü. Belirli grafik öğelerinin özelliklerini kullanarak bunu geçersiz kılabilirsiniz.

Tür: dize
Varsayılan: "score"
yazı tipi boyutu

Grafikteki tüm metinlerin piksel cinsinden varsayılan yazı tipi boyutu. Belirli grafik öğelerinin özelliklerini kullanarak bunu geçersiz kılabilirsiniz.

Tür: sayı
Varsayılan: otomatik
Zorunlu iFrame

Grafiği satır içi bir çerçevenin içine çizer. (IE8'de bu seçeneğin yoksayıldığını unutmayın; tüm IE8 grafikleri i-frame'ler ile çizilmiştir.)

Tür: boole
Varsayılan: false
yükseklik

Grafiğin piksel cinsinden yüksekliği.

Tür: sayı
Varsayılan: kapsayıcı öğenin yüksekliği
zaman çizelgesi.barEtiket Stili

Çubuk etiket metin stilini belirten bir nesne. Biçim şu şekildedir:

{fontName: <string>, fontSize: <string>}

Bu tabloda fontName ve fontSize bölümüne de bakın.

Tür: nesne
Varsayılan: null
Zaman Çizelgesi.colorByRowLabel

Doğru değerine ayarlanırsa satırdaki her çubuğun rengi aynı olur. Varsayılan ayar, çubuk etiketi başına bir renk kullanmaktır.

Tür: boole
Varsayılan: false
Zaman Çizelgesi.groupByRowLabel

Yanlış değerine ayarlanırsa her dataTable girişi için bir satır oluşturur. Varsayılan ayar, aynı satır etiketine sahip çubukları tek bir satırda toplamaktır.

Tür: boole
Varsayılan: true
Zaman Çizelgesi.rowLabelStyle

Satır etiketi metin stilini belirten bir nesne. Biçim şu şekildedir:

{color: <string>, fontName: <string>, fontSize: <string>}

color, herhangi bir HTML renk dizesi olabilir. Örneğin 'red' veya '#00cc00' Bu tabloda fontName ve fontSize öğelerine de bakın.

Tür: nesne
Varsayılan: null
zaman çizelgesi.showBarEtiketler

Yanlış değerine ayarlanırsa çubuk etiketleri atlar. Varsayılan olarak, bu anahtar kelimeler gösterilir.

Tür: boole
Varsayılan: true
zaman çizelgesi.showRowLabels

Yanlış değerine ayarlanırsa satır etiketleri çıkarılır. Varsayılan olarak, bu anahtar kelimeler gösterilir.

Tür: boole
Varsayılan: true
zaman çizelgesi.tekRenk

Tüm çubukların renkleri aynı. Onaltılık değer olarak belirtilir (ör. "#8d8").

Tür: dize
Varsayılan: null
ipucu.ishtml

SVG ile oluşturulan (HTML tarafından oluşturulan yerine) ipuçlarını kullanmak için false olarak ayarlayın. Daha fazla ayrıntı için İpucu İçeriğini Özelleştirme bölümüne bakın.

Not: HTML araç ipucu içeriğinin ipuçu sütunu veri rolü aracılığıyla özelleştirilmesi, Balon Listesi görselleştirmesi tarafından desteklenmez.

Tür: boole
Varsayılan: true
ipucu.tetikleyici

İpucunun gösterilmesine neden olan kullanıcı etkileşimi:

  • "odak" - Kullanıcı, öğenin üzerine geldiğinde ipucu görünür.
  • "hiçbiri" - İpucu gösterilmez.
Tür: dize
Varsayılan: "odak"
genişlik

Grafiğin piksel cinsinden genişliği.

Tür: sayı
Varsayılan: kapsayıcı öğenin genişliği

Yöntemler

Yöntem
draw(data, options)

Grafiği çizer. Grafik, yalnızca readyetkinliği tetiklendikten sonra gerçekleştirilen diğer yöntem çağrılarını kabul eder. Extended description dokunun.

Dönüş Türü: yok
clearChart()

Grafiği temizler ve ayrılan tüm kaynaklarını serbest bırakır.

Dönüş Türü: yok
getSelection()

Seçilen grafik varlıklarından oluşan bir diziyi döndürür. Seçilebilir öğeler çubuklar, açıklama girişi ve kategorilerdir. Bu grafik için herhangi bir zamanda yalnızca bir varlık seçilebilir. Extended description .

Dönüş Türü: Seçim öğeleri dizisi

Etkinlikler

Ad
error

Grafik oluşturulmaya çalışılırken bir hata oluştuğunda tetiklenir.

Özellikler: kimlik, mesaj
onmouseover

Kullanıcı görsel bir varlığın üzerine geldiğinde tetiklenir. İlgili veri tablosu öğesinin satır ve sütun dizinlerini geri verir. Çubuk, veri tablosundaki bir hücreyle, bir sütunla ilgili açıklama girişi (satır dizini null) ve bir satırla kategori (sütun dizini null) arasındadır.

Özellikler: satır, sütun
onmouseout

Kullanıcı görsel varlıktan fareyi uzaklaştırdığında tetiklenir. İlgili veri tablosu öğesinin satır ve sütun dizinlerini geri verir. Çubuk, veri tablosundaki bir hücreyle, bir sütunla ilgili açıklama girişi (satır dizini null) ve bir satırla kategori (sütun dizini null) arasındadır.

Özellikler: satır, sütun
ready

Grafik, harici yöntem çağrıları için hazır. Grafik ve çizim yöntemlerinden sonra etkileşimde bulunmak isterseniz draw yöntemini çağırmadan önce bu etkinlik için bir dinleyici oluşturmanız ve bunları yalnızca etkinlik tetiklendikten sonra kullanmanız gerekir.

Özellikler: yok
select

Kullanıcı bir görsel öğeyi tıkladığında tetiklenir. Nelerin seçildiğini öğrenmek için getSelection() numaralı telefonu arayın.

Özellikler: yok

Veri politikası

Tüm kod ve veriler tarayıcıda işlenir ve oluşturulur. Hiçbir sunucuya veri gönderilmez.