צירי זמן

סקירה כללית

ציר זמן הוא תרשים שמציג אופן השימוש בקבוצה של משאבים לאורך זמן. אם אתם מנהלים פרויקט תוכנה ואתם רוצים להמחיש מי עושה מה ומתי, או אם אתם מארגנים כנס ורוצים לקבוע חדרי ישיבות, בדרך כלל ציר הזמן הוא בחירה סבירה להצגה חזותית. סוג פופולרי נוסף של קו זמן הוא תרשים הגאנטים.

הערה:באובייקטים של JavaScript בתאריך, החודשים נוספו לאינדקס החל מאפס ועולים עד אחת עשרה, כאשר ינואר הוא חודש 0 ו-11 בדצמבר. אם ציר הזמן שלך נראה כמו חודש, כנראה שהסיבה לכך היא. מידע נוסף זמין בדף תאריכים ושעות.

דוגמה פשוטה

נניח שאתם רוצים לשרטט מתי נשיאי ארצות הברית הגישו את התנאים שלהם. כאן, ה"משאבים" הם הנשיאים, ואנחנו יכולים לשרטט את המונח של כל נשיא לנשיאות:

העברת העכבר מעל עמודה מציגה הסבר קצר עם מידע מפורט יותר.

אחרי טעינת החבילה ב-timeline והגדרת הקריאה החוזרת (callback) כדי לשרטט את התרשים במהלך עיבוד הדף, השיטה drawChart() יוצרת google.visualization.Timeline() ואז ממלאת dataTable בשורה אחת לכל נשיא.

בתוך dataTable, העמודה הראשונה כוללת את שם הנשיא, והעמודה השנייה והשלישית הן זמני ההתחלה והסיום. הסוג הזה של JavaScript הוא מסוג Date, אבל הוא יכול להיות גם מספר פשוט.

לבסוף, אנו מפעילים את השיטה draw() של התרשים, שמציגה אותו בתוך div עם אותו מזהה (timeline) ששימש בעת ההצהרה על container בשורה הראשונה של drawChart().

<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 התרשימים מותאמים אישית, ובדוגמאות הבאות נראה לכם כמה דרכים נפוצות להתאים את המראה של לוחות הזמנים שלכם.

סימון הסרגלים

בנוסף לתוויות השורות ('וושינגטון', 'אדמס', 'ג'פרסון' למעלה), אפשר להוסיף תוויות לעמודות בודדות. כאן, אנחנו משנים את תוויות השורות במספרים פשוטים, ומציבים את השם של כל נשיא על הסרגל שלו.

בקוד הזה הוספנו עמודה חדשה לנתונים שלנו כדי לכלול את תוויות העמודות: השם המלא של כל נשיא. כשיש ארבע עמודות על ציר זמן dataTable, הראשונה מתפרשת כתווית השורה, השנייה בתור תווית הסרגל והשלישית והרביעית כנקודת ההתחלה והסיום.

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

תוויות השורות החדשות שלנו לא מאוד אינפורמטיביות, לכן יש להסיר אותן באמצעות האפשרות של ציר הזמן showRowLabels.

כברירת מחדל, showRowLabels הוא true. אם הערך מוגדר כ-false, תוויות השורות יוסרו:

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

דוגמה מתקדמת

כדי שציר הזמן יהיה מורכב יותר, נוסיף את סגן הנשיאים ומזכירי המדינה לתרשים שלנו. ג'ון אדמס היה סגן הנשיא לפני שהפך לנשיא, ותומס ג'פרסון היה מזכיר המדינה, ואז סגן נשיא, ולבסוף הנשיא.

בצירי זמן, למשאב יהיה צבע זהה גם כשהוא מופיע בכמה שורות, כך שבתרשים הבא כל אחד מיוצג באמצעות צבע עקבי.

חלק משרידי המדינה מוצגים לפרקי זמן קצרים מאוד, כך שהתרשים הוא בדיקה טובה לתיוג. אם התווית גדולה מדי לסרגל, היא מקוצרת או מבוטלת, בהתאם לגודל העמודה. המשתמשים תמיד יכולים להעביר את העכבר מעל לסרגל כדי לקבל מידע על ההסבר הקצר.

ציר הזמן יפרוס את השורות לפי סדר הצגתן - הנשיא מעל סגן הנשיא מעל מזכיר המדינה - בהתאם לסדר שבו הן מופיעות בקוד שלמטה. עם זאת, הפריסה של העמודות נקבעת אך ורק לפי שעת ההתחלה והסיום, כך שהחלפה של שני מזכירים של מדינה או שני נשיאים ב-dataTable לא תשפיע על התרשים.

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

פרסום עמודות בשורה אחת

שלא כמו אפיצים, יכול להיות רק נשיא אחד בארה"ב בכל פעם, כך שאם נסמן את כל השורות שלנו בתווית "נשיא", ציר הזמן ישלב את שלוש השורות של התרשים הראשון בשורה אחת כדי ליצור מצגת נקייה יותר. אפשר לשלוט בהתנהגות הזו באמצעות האפשרות groupByRowLabel.

זו התנהגות ברירת המחדל:

נגדיר את groupByRowLabel בתור false ונפצל את השורה האחת לשלוש:

הקוד להשבתת הקיבוץ:

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

שליטה בצבעים

כברירת מחדל, במצעדים של Google בוחרים צבעים אופטימליים לאסתטיקה ולקריאות (כולל משתמשים עם מוגבלויות ראייה). אפשר להתאים אישית את התנהגות ברירת המחדל באמצעות האפשרויות colorByRowLabel, singleColor, backgroundColor ו-colors.

האפשרות colorByRowLabel צבעת את כל העמודות באותה השורה. זו אפשרות טובה אם יש פערים בין העמודות.

ברירת המחדל של colorByRowLabel היא false, אז כאן אנחנו מבטלים את ברירת המחדל ומגדירים אותה ל-true.

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

אם אתם רוצים שכל העמודות יהיו באותו צבע, ללא קשר לשורה שבה הן מופיעות, השתמשו באפשרות singleColor:

בקוד שלמטה, הערך singleColor מוגדר לערך הקסדצימלי כדי לצבוע את כל העמודות בירוק בהיר:

<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:

הערך backgroundColor מצוין כערך הקסדצימלי. כאן, אנחנו מבצעים התאמה בין colorByRowLabel כדי להציג רצועות בכנס:

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

לאחר מכן, כדי להגדיר את צבע הרקע לסירוגין או לא חלופי לפי אינדקס שורה, יש להשתמש באפשרות alternatingRowStyle (גרסה 51 ומעלה פעילה):

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

כדי לשלוט בצבעים של עמודות בודדות, צריך להשתמש באפשרות colors:

הפונקציה colors מקבלת מערך של ערכי הקסדצימליים, שמוחלים על העמודות לפי הסדר:

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

אם התרשים שלכם צריך יותר צבעים ממה שמופיע ברשימה, התרשים יקבל את הצבע singleColor שמוגדר ברשימה. (זה נכון לכל המצעדים של Google, ולא רק ללוחות הזמנים).

דרך נוספת לשלוט על הצבעים של עמודות בודדות היא להשתמש בעמודה עם תפקיד הסגנון.

הקוד להוספה ולאכלוס של עמודת סגנון:

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

שינוי הגופנים

אפשר לבחור את הגופן ואת הגופן של כל שורה ב-rowLabelStyle, ושל התוויות בכל עמודה ב-barLabelStyle. שניהם מוצגים בהמשך.

הערה: מומלץ לבחור בגופנים שהדפדפנים של המשתמשים יוכלו לעבד.

<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.

קווי רשת חופפים

מערכת Google התרשימים מבצעת התאמות קטנטנות לנקודות קצה של סרגל כדי להימנע מהסתרה של קווי רשת בציר הזמן. כדי למנוע התנהגות כזאת, צריך להגדיר את האפשרות avoidOverlappingGridLines ל-false.

כדי להמחיש את ההשפעה, הנה שתי דוגמאות: הראשונה עם רשת חופפת והשנייה בלי.

הנה קוד שחופף לרשתות:

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

התאמה אישית של ההסברים הקצרים

כדי להתאים אישית את מה שהמשתמשים רואים כשהם מעבירים את העכבר מעל לעמודות של ציר זמן, אפשר להוסיף עמודת הסבר קצר לטבלת נתונים הכוללת חמש עמודות. כדי לספק הסברים קצרים שאינם ברירת המחדל, כל שורה בטבלת הנתונים חייבת לכלול את כל חמש העמודות (תווית שורה, תווית עמודה, הסבר קצר, התחלה וסיום):

כשמעבירים את העכבר מעל עמודה מוצג הסבר קצר עם הטקסט שמוגדר בעמודה השלישית. בתרשים הזה עלינו להגדיר את העמודה השנייה לערכים דמה (כאן null), כדי שההסברים הקצרים שלנו יופיעו בעמודה השלישית.

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

בטעינה

שם החבילה של google.charts.load הוא timeline:

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

שם הכיתה הוא google.visualization.Timeline:

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

פורמט נתונים

שורות: כל שורה בטבלה מייצגת סרגל ציר זמן.

עמודות:

  עמודה 0 עמודה 1 עמודה 2 עמודה 3 עמודה 4
מטרה: תווית שורה תווית עמודה (אופציונלי) הסבר קצר (אופציונלי) שנתחיל? סוף
סוג הנתונים: string string string מספר או תאריך מספר או תאריך
תפקיד: נתונים נתונים הסבר קצר נתונים נתונים

 

אפשרויות הגדרה

שם
AlteratingRowStyle

האם התרשים מבצע החלפה של צבע הרקע לפי אינדקס של שורה (כלומר, גוון הצבע של שורות עם גוון כהה יותר בגוון כהה יותר). אם False, רקע התרשים יהיה צבע אחיד. אם הערך הוא true, הרקע של התרשים יחליף את הגוון לפי אינדקס השורות. (הערה: גרסה 51 ואילך פעילה)

סוג: בוליאני
ברירת מחדל: נכון
הימנעות מחפיפה ברשת

אם הרכיבים ברשת המדיה (למשל, העמודות בציר זמן) צריכים לטשטש קווי רשת. אם False, קווי רשת יכולים להיות מכוסים לחלוטין על ידי רכיבי מסך. אם True, רכיבי התצוגה עשויים להשתנות כדי לשמור על קווי הרשת גלויים.

סוג: בוליאני
ברירת מחדל: נכון
צבע רקע

צבע הרקע של האזור הראשי בתרשים. הוא יכול להיות מחרוזת צבע פשוטה ב-HTML, לדוגמה: 'red' או '#00cc00', או אובייקט עם המאפיינים הבאים.

Type: מחרוזת או אובייקט
ברירת מחדל: 'לבן'
צבעים

הצבעים שיש להשתמש בהם ברכיבי התרשים. מערך של מחרוזות, כאשר כל רכיב הוא מחרוזת צבע HTML. לדוגמה: colors:['red','#004411'].

סוג: מערך של מחרוזות
ברירת מחדל: צבעי ברירת מחדל
enableInteractive

האם התרשים כולל אירועים מבוססי-משתמשים או מגיב לאינטראקציה של משתמש. אם ההעדפה מקבלת את הערך False, התרשים לא יציג אירועי 'select' או אירועים אחרים מבוססי-אינטראקציות (אבל יגרום לתיעוד של אירועי הכנה או שגיאות), ולא יציג טקסט מרחף או ישתנה בדרך אחרת בהתאם לקלט של המשתמשים.

סוג: בוליאני
ברירת מחדל: נכון
שם גופן

תצוגת ברירת המחדל של הגופן של כל הטקסט בתרשים. אפשר לשנות זאת באמצעות המאפיינים של רכיבי תרשים ספציפיים.

סוג: מחרוזת
ברירת מחדל: 'xls'
גודל גופן

גודל הגופן המוגדר כברירת מחדל, בפיקסלים, של כל הטקסט בתרשים. אפשר לשנות זאת באמצעות המאפיינים של רכיבי תרשים ספציפיים.

סוג: מספר
ברירת מחדל: אוטומטי
forceIFrame

משרטט את התרשים בתוך מסגרת מוטבעת. (שימו לב שב-IE8 המערכת מתעלמת מהאפשרות הזו. כל התרשימים של IE8 מצוירים ב-i-frames).

סוג: בוליאני
ברירת מחדל: False
גובה

גובה התרשים, בפיקסלים.

סוג: מספר
ברירת מחדל: הגובה של הרכיב שמכיל את הסרטון
קו זמן.barLabelStyle

אובייקט שמציין את סגנון הטקסט של תווית הסרגל. זהו הפורמט הרצוי:

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

הצגה של fontName ושל fontSize גם בטבלה הזו.

Type: אובייקט
ברירת מחדל: null
ציר זמן.colorByRowLabel

אם היא מוגדרת כ-True, הצבע של כל עמודה בשורה זהה. ברירת המחדל היא שימוש בצבע אחד לכל תווית של עמודה.

סוג: בוליאני
ברירת מחדל: False
ציר זמן.groupByRowLabel

אם המדיניות מוגדרת כ-False, נוצרת שורה אחת לכל רשומה ב-dataTable. הגדרת ברירת המחדל היא לאסוף עמודות עם אותה תווית של שורה לשורה אחת.

סוג: בוליאני
ברירת מחדל: נכון
קו זמן.rowLabelStyle

אובייקט שמציין את סגנון הטקסט של תווית השורה. זהו הפורמט הרצוי:

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

השדה color יכול להיות כל מחרוזת צבע HTML, למשל 'red' או '#00cc00' וגם הערכים fontName ו-fontSize בטבלה הזו.

Type: אובייקט
ברירת מחדל: null
קו זמן.showBarLabels

אם המדיניות מקבלת את הערך False, תוויות העמודות מושמטות. ברירת המחדל היא להציג אותם.

סוג: בוליאני
ברירת מחדל: נכון
ציר זמן.showRowLabels

אם המדיניות מקבלת את הערך False, תוויות השורות מושמטות. ברירת המחדל היא להציג אותם.

סוג: בוליאני
ברירת מחדל: נכון
קו זמן.singleColor

צבע כל העמודות יהיה זהה. מוגדר כערך הקסדצימלי (למשל, ' #8d8').

סוג: מחרוזת
ברירת מחדל: null
overview.isHtml

יש להגדיר את הערך false כדי להשתמש בהסברים קצרים על פורמט SVG (במקום ברינדור HTML). פרטים נוספים זמינים בהתאמה אישית של תוכן של הסברים קצרים .

הערה: ההתאמה האישית של תוכן ההסבר הקצר ב-HTML באמצעות תפקיד נתוני העמודה של ההסבר הקצר לא נתמכת על ידי התצוגה החזותית תרשים בועות.

סוג: בוליאני
ברירת מחדל: נכון
overview.trigger

האינטראקציה של המשתמש שגרמה להצגת ההסבר הקצר:

  • 'מיקוד' - ההסבר הקצר יוצג כאשר המשתמש יעביר את העכבר מעל לרכיב.
  • 'none' – ההסבר הקצר לא יוצג.
סוג: מחרוזת
ברירת מחדל: 'התמקדות'
רוחב

רוחב התרשים, בפיקסלים.

סוג: מספר
ברירת מחדל: הרוחב של הרכיב שמכיל

שיטות

שיטה
draw(data, options)

משרטט את התרשים. התרשים מקבל קריאות נוספות לשיטה רק אחרי האירוע ready שמופעל. Extended description

סוג החזרה: אין
clearChart()

ניקוי התרשים ושחרור כל המשאבים שהוקצו לו.

סוג החזרה: אין
getSelection()

היא מחזירה מערך של ישויות התרשים שנבחרו. ישויות שניתן לבחור הן עמודות, ערכי אגדה וקטגוריות. בתרשים הזה אפשר לבחור רק ישות אחת בכל רגע נתון. Extended description .

סוג החזרה: מערך של רכיבי בחירה

אירועים

שם
error

מופעל כשמתרחשת שגיאה במהלך הניסיון לעבד את התרשים.

מאפיינים: מזהה, הודעה
onmouseover

מופעל כשהמשתמש מעביר את העכבר מעל ליישות חזותית. מחזירה את האינדקסים של השורה והעמודה של הרכיב המתאים בטבלת הנתונים. סרגל תואם לתא בטבלת הנתונים, ערך מקרא לעמודה (אינדקס השורה הוא ריק) וקטגוריה לשורה (אינדקס העמודה הוא ריק).

מאפיינים: שורה, עמודה
onmouseout

מופעל כשהמשתמש מעביר את העכבר מעל ליישות ויזואלית. מחזירה את האינדקסים של השורה והעמודה של הרכיב המתאים בטבלת הנתונים. סרגל תואם לתא בטבלת הנתונים, ערך מקרא לעמודה (אינדקס השורה הוא ריק) וקטגוריה לשורה (אינדקס העמודה הוא ריק).

מאפיינים: שורה, עמודה
ready

התרשים מוכן לקריאות חיצוניות לשיטה אם רוצים ליצור אינטראקציה עם התרשים ועם שיטות השיחה אחרי ששרטטים אותו, צריך להגדיר למאזינים אירוע זה לפני שמתקשרים אל השיטה draw, ולהתקשר אליהם רק אחרי שהאירוע הופעל.

מאפיינים: ללא
select

מופעל כשהמשתמש לוחץ על ישות חזותית. כדי לראות מה נבחר, צריך להתקשר למספר getSelection().

מאפיינים: ללא

מדיניות נתונים

כל הנתונים והקוד מעובדים ומעובדים בדפדפן. לא יישלחו נתונים לאף שרת.