חשוב: החלק של 'תרשימי תמונות' בכלים של Google Charts הוצא משימוש באופן רשמי ב-20 באפריל 2012. הוא ימשיך לפעול בהתאם למדיניות ההוצאה משימוש שלנו.
סקירה כללית
תרשים התמונות הגנרי הוא wrapper גנרי לכל התרשימים שנוצרים על ידי Google Chart API. מומלץ לקרוא את מסמכי התיעוד של Chart API לפני שמנסים להשתמש בהדמיה הזו. הערה: אפשר לשלוח עד 16,000 נתונים באמצעות התצוגה החזותית הזו, בניגוד למגבלת 2,000 בקריאות ישירות ל-Chart API.
כל הנתונים מועברים לתרשימים באמצעות DataTable או DataView. בנוסף, חלק מהתוויות מועברות כעמודות בטבלת הנתונים.
כל שאר הפרמטרים של כתובות URL של Chart API (מלבד chd
) מועברים כאפשרויות.
מאת: Google
דוגמאות
הנה דוגמאות לכמה סוגים שונים של תרשימים.
תרשים קו
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load("current", {packages:["imagechart"]}); </script> <script type='text/javascript'> google.charts.setOnLoadCallback(drawChart); function drawChart() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('string'); dataTable.addColumn('number'); dataTable.addColumn('string'); // Row data is [chl, data point, point label] dataTable.addRows([ ['January',40,undefined], ['February',60,'Initial recall'], ['March',60,'Product withdrawn'], ['April',45,undefined], ['May',47,'Relaunch'], ['June',75,undefined], ['July',70,undefined], ['August',72,undefined] ]); var options = {cht: 'lc', chds:'0,160', annotationColumns:[{column:2, size:12, type:'flag', priority:'high'},]}; var chart = new google.visualization.ImageChart(document.getElementById('line_div')); chart.draw(dataTable, options); } </script> </head> <body> <div id='line_div'></div> </body> </html>
תרשים עמודות אנכי
שימו לב שבתרשימי העמודות העטופות אין צורך לציין chxt='x' כפי שהייתם עושים אם קוראים לתרשים בעצמכם. אם לא מציינים ציר, 'תרשים תמונות כללי' ינסה להגדיר את התרשים כמו שצריך כברירת מחדל.
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load("current", {packages:["imagechart"]}); </script> <script type='text/javascript'> google.charts.setOnLoadCallback(drawChart); function drawChart() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('number'); dataTable.addColumn('number'); dataTable.addRows([ [10,50], [50,60], [60,100], [80,40], [40,20] ]); var options = {cht: 'bvs', chs: '300x125', colors:['#4D89F9','#C6D9FD'], chds:'0,160', chxl:'0:|oranges|apples|pears|bananas|kiwis|'}; var chart = new google.visualization.ImageChart(document.getElementById('bar_div')); chart.draw(dataTable, options); } </script> </head> <body> <div id='bar_div'></div> </body> </html>
תרשים עוגה
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load("current", {packages:["imagechart"]}); </script> <script type='text/javascript'> google.charts.setOnLoadCallback(drawChart); function drawChart() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('string'); dataTable.addColumn('number'); dataTable.addRows([ ['January',12], ['February',8], ['March',3] ]); var options = {cht: 'p', title: 'Sales per Month', chp: 0.628, chs: '400x200', colors:['#3399CC','#00FF00','#0000FF']}; var chart = new google.visualization.ImageChart(document.getElementById('pie_div')); chart.draw(dataTable, options); } </script> </head> <body> <div id='pie_div'></div> </body> </html>
תרשים מכ"ם
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load("current", {packages:["imagechart"]}); </script> <script type='text/javascript'> google.charts.setOnLoadCallback(drawChart); function drawChart() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('number'); dataTable.addColumn('number'); dataTable.addRows([ [100,10], [80,20], [60,30], [30,40], [25,50], [20,60], [10,70] ]); var chart = new google.visualization.ImageChart(document.getElementById('radar_div')); var options = {cht: 'rs', chco: '00FF00,FF00FF', chg: '25.0,25.0,4.0,4.0', chm: 'B,FF000080,0,1.0,5.0|B,FF990080,1,1.0,5.0',}; chart.draw(dataTable, options); } </script> </head> <body> <div id='radar_div'></div> </body> </html>
תרשים מפה
<html> <head> <script type='text/javascript' src='https://www.gstatic.com/charts/loader.js'></script> <script type='text/javascript'> google.charts.load("current", {packages:["imagechart"]}); </script> <script type='text/javascript'> google.charts.setOnLoadCallback(drawChart); function drawChart() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('string'); dataTable.addColumn('number'); dataTable.addRows([ ['DZ',0], ['EG',50], ['MG',50], ['GM',35], ['KE',100], ['ZA',100] ]); var options = {cht: 't', chtm: 'africa', chco: '777777,FFC6A5,FF0000', chs: '440x220'}; var chart = new google.visualization.ImageChart(document.getElementById('map_div')); chart.draw(dataTable, options); } </script> </head> <body> <div id='map_div'></div> </body> </html>
בטעינה
שם החבילה ב-google.charts.load
הוא 'imagechart'
google.charts.load('current', {'packages': ['imagechart']});
שם הכיתה של התרשים להמחשה הוא google.visualization.ImageChart
var visualization = new google.visualization.ImageChart(container_div);
פורמט נתונים
קיימים שני פורמטים של נתונים כלליים: אחד לתרשימי מפה ואחד לכל שאר התרשימים. חשוב לשים לב שהפורמט המספרי היחיד שנתמך לנתונים הוא סוג המספר JavaScript.
הערה: אסור לקודד כתובות URL ערכי מחרוזת שמועברים כנתונים או כאפשרויות.
תרשימי מפה
תרשים מפה מקבל טבלת נתונים שיש בה שתי עמודות נדרשות:
- העמודה הראשונה – [string] קוד מדינה או קוד מדינה/מחוז.
- עמודה שנייה – [number] הערך של אותה מדינה או מדינה.
מידע נוסף זמין במאמרי העזרה של תרשים המפה.
תרשימים שלא קשורים למפות
תרשימים שאינם מפה כוללים טבלת נתונים עם שתי עמודות אופציונליות (אחת בהתחלה ואחת בסוף), ועמודת נתונים אחת או יותר ביניהן:
- עמודה ראשונה – [אופציונלי, מחרוזת] כל רשומה מייצגת תווית שבה משתמשים בציר ה-X (מקבילה לפרמטר
chl
אוchxl
) לתרשימים שתומכים בה. - העמודות הבאות – כל מספר של עמודות מספריות, שכל אחת מהן מייצגת סדרת נתונים.
- עמודות אחרונות – [optional, string] כל מספר של עמודות מחרוזת אחרי עמודות הנתונים, כאשר כל רשומה מייצגת תווית של נקודות נתונים לתרשימים שתומכים בה. כדי להשתמש בעמודה הזו,
צריך לציין את האפשרות
annotationColumns
.
הנתונים יוצגו בדרכים שונות, בהתאם לסוג התרשים. אפשר להיעזר במסמכי התיעוד של התרשים.
הערה לגבי אינדקסים של עמודות: בתרשים להמחשה של תרשים תמונות גנרי תסירו את עמודות המחרוזות מטבלת הנתונים לפני שליחת הטבלה לשירות Chart API. לכן, אינדקסים של עמודות באפשרויות, בשיטות ובאירועים שמוגדרים בדף הזה כוללים את עמודות המחרוזת בספירת האינדקסים, אבל אינדקסים של עמודות בכל האפשרויות ששירות Chart API מטפל בהן (למשל האפשרות chm
) מתעלמים מעמודות המחרוזת בספירת האינדקסים.
אפשרויות הגדרה
האפשרויות הבאות מוגדרות להמחשה החזותית הזו. מגדירים אותן באובייקט האפשרויות שמועברות ל-method draw()
של התצוגה החזותית.
חלק מהאפשרויות הבאות לא נתמכות בכל סוגי התרשימים. תוכלו להיעזר במסמכי התיעוד של סוג התרשים עם התמונה הסטטית. אפשר להעביר כל פרמטר של כתובת URL של Chart API כאפשרות בחירה. לדוגמה, פרמטר כתובת ה-URL chg=50,50
מתצוגה חזותית של תרשים יצוין
כך: options['chg'] = '50,50'
.
הערה לגבי צבעים: אפשרויות צבעים כמו colors
, color
ו-backgroundColor
מפורטות בפורמט הצבעים של Chart API.
הפורמט הזה דומה לפורמט #RRGGBB אבל הוא כולל
מספר הקסדצימלי רביעי אופציונלי כדי לציין שקיפות. אין תמיכה בצבעים קריאים לאנשים, כמו 'אדום', 'ירוק', 'כחול' וכו'. פורמט הצבעים של Chart API לא כולל את הסמל # המוביל, אבל אפשרויות התצוגה החזותיות של תרשים התמונות הגנריות יקבלו קודים של צבעים עם או בלי #.
שם | סוג | ברירת המחדל | תיאור |
---|---|---|---|
annotationColumns | Array<object> | אין | תוויות של נקודות על נתונים לסוגים שונים של תרשימים. זהו מערך של אובייקטים, שכל אחד מהם מקצה תווית מעוצבת לנקודה אחת על הגרף. האפשרות הזו זמינה רק לתרשימים שתומכים בנקודות נתונים (כדי לקבל מידע נוסף על הנושא המקושר, יש לעיין בנושא המקושר), וטבלת הנתונים חייבת לכלול לפחות אחת מהעמודות של תוויות המחרוזת. לכל אובייקט במערך יש את המאפיינים הבאים:
דוגמה: קטע הקוד הזה מגדיר תווית טקסט שחורה של 12 פיקסלים, עם הטקסט שנלקח מעמודה 0 ומוקצה לנקודה על הגרף בעמודה 2 של אותה שורה: |
backgroundColor | string | '#FFFFFF' (לבן) | צבע הרקע של התרשים בפורמט הצבעים של Chart API. |
color [צבע] | string | אוטומטית | מציינת צבע בסיס שישמש לכל הסדרות. כל סדרה תהיה הדרגתית של הצבע שצוין. הצבעים מוגדרים בפורמט הצבעים של Chart API.
המערכת תתעלם אם צוין colors . |
צבעים | מערך<string> | אוטומטית | ניתן להשתמש בפונקציה הזו כדי להקצות צבעים ספציפיים לכל סדרת נתונים. הצבעים מצוינים בפורמט הצבעים של Chart API.
צבע i משמש לעמודה i של הנתונים, שעוטף עד להתחלה אם יש יותר עמודות נתונים מצבעים. אם כל הסדרות מקבלות וריאציות של צבע אחד, צריך להשתמש באפשרות color
במקום זאת. |
enableEvents | boolean | false | האפשרות הזו גורמת לתרשימים להקפיץ אירועים שהופעלו על ידי משתמשים, כמו לחיצה או העברת עכבר. נתמכת רק בסוגי תרשימים ספציפיים. ראו אירועים בהמשך. |
מילוי | boolean | false | אם True, השדה ימלא את האזור שמתחת לכל שורה. זמין לתרשימי קו בלבד. |
firstHiddenColumn | number | אין | אינדקס של עמודות נתונים. העמודה שמופיעה וכל העמודות הבאות לא ישמשו לשרטוט הרכיבים הראשיים של סדרת התרשים (למשל, קווים בתרשים קו או עמודות בתרשים עמודות), אלא כנתונים לסמנים ולהערות אחרות. שימו לב שעמודות המחרוזות נכללות במספר האינדקסים הזה. |
גובה | number | 200 | גובה התרשים, בפיקסלים. אם הפרמטר חסר או לא בטווח קביל, המערכת תשתמש בגובה של הרכיב שמכיל אותו. אם הערך הזה נמצא גם מחוץ לטווח הקביל, המערכת תשתמש בגובה ברירת המחדל. |
labels | string | 'ללא' | [תרשים עוגה בלבד] איזו תווית להציג לכל פרוסה, אם בכלל. בוחרים מבין הערכים הבאים:
|
מקרא | string | 'ימינה' | המיקום שבו יוצג מקרא של התרשים, ביחס לתרשים. מציינים אחת מהאפשרויות הבאות: 'top', 'bottom', 'left', 'right', 'none'. המערכת מתעלמת ממנו בתרשימים שלא כוללים מקרא (כמו תרשימי מפה). |
מקסימלי | number | ערך נתונים מקסימלי | הערך המקסימלי שמוצג בסולם. המערכת התעלמה ממנו בתרשימי עוגה. ברירת המחדל היא ערך הנתונים המקסימלי, מלבד תרשימי עמודות שבהם ברירת המחדל היא ערך הנתונים המקסימלי. כשבטבלה יש יותר מעמודת נתונים אחת, המערכת מתעלמת ממנה. |
דקה | number | ערך הנתונים Mimimum | הערך המינימלי שמוצג בסולם. המערכת התעלמה ממנו בתרשימי עוגה. ברירת המחדל היא ערך הנתונים המינימלי, מלבד תרשימי עמודות שבהם ברירת המחדל היא אפס. אם לטבלה יש יותר מעמודת נתונים אחת, המערכת מתעלמת ממנה בתרשימי עמודות. |
showCategoryLabels | boolean | true | האם התוויות יופיעו בציר הקטגוריה (כלומר שורה). זמין רק לתרשימי קו ולתרשימי עמודות. |
showValueLabels | boolean | true | הערך True מציג תווית בציר הערכים. זמין רק לתרשים קו ולתרשים עמודות. |
singleColumnDisplay | number | אין | הפונקציה מעבדת רק את עמודת הנתונים שצוינה. המספר הזה מופיע כאינדקס שמבוסס על אפס בטבלה, כאשר 0 היא עמודת הנתונים הראשונה. הצבע שהוקצה לעמודה היחידה זהה לצבע שהוקצה לכל העמודות. אי אפשר להשתמש בה עם תרשימי עוגה או תרשימי מפה. |
title | string | מחרוזת ריקה | כותרת התרשים. אם לא מציינים זאת, לא תוצג כותרת. הפרמטר המקביל
בתרשים הוא chtt . |
valueLabelsInterval | number | אוטומטית | מרווח הזמן שבו יוצגו התוויות של ציר הערך. לדוגמה, אם הערך של min הוא 0, הערך של max הוא 100 והערך של valueLabelsInterval הוא 20, בתרשים יוצגו תוויות הצירים במספרים (0, 20, 40, 60, 80 100). |
רוחב | number | 400 | רוחב התרשים, בפיקסלים. אם הפרמטר חסר או לא בטווח קביל, המערכת תשתמש ברוחב הרכיב שמכיל אותו. אם הערך הזה נמצא גם מחוץ לטווח הקביל, המערכת תשתמש ברוחב ברירת המחדל. |
שיטות
שיטה | סוג הערך המוחזר | תיאור |
---|---|---|
draw(data, options) |
אין | משרטט את המפה. |
getImageUrl() |
מחרוזת | הפונקציה מחזירה את כתובת ה-URL של Google Chart API שמשמשת לבקשת התרשים. הערה: האורך המקסימלי הוא 2,000 תווים. מידע נוסף מופיע במאמר Google Chart API. |
אירועים
אם מגדירים את המאפיין enableEvents
כ-True, תרשימים תומכים
יקפיצו אירועים עבור אירועי משתמש שמפורטים בטבלה הבאה. כל האירועים האלו
מחזירים אובייקט event
עם המאפיינים הבאים:
type
– מחרוזת שמייצגת את סוג האירוע.region
– המזהה של האזור המושפע. צריך להוסיף את הפרמטרchof=json
לסוג התרשים הגולמי כדי לראות רשימה של השמות הזמינים. לפרטים נוספים, ראוchof=json
.
שם | תיאור | סוג ערך |
---|---|---|
error |
מופעל כשמתרחשת שגיאה בניסיון לעבד את התרשים. | מזהה, הודעה |
onmouseover |
מופעל כשהמשתמש מעביר את העכבר מעל רכיב בתרשים. | "עכבר" |
onmouseout |
מופעל כשהמשתמש מזיז את העכבר מעל רכיב בתרשים. | 'mouseout' |
onclick |
מופעל כשמשתמש לוחץ על רכיב בתרשים. | "קליק" |
אילו תרשימים תומכים באירועים?
כל תרשימים שתומכים בפרמטר chof=json
תומכים באירועי נינג'ה (כלומר, כל התרשימים מלבד תרשימים מיוחדים, כמו קודי QR).
דוגמה לטיפול באירועים
הנה דוגמה שמציגה עמודה שמתעדת קליקים על העכבר.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title> Google Image Events Sample </title> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {packages: ['imagechart']}); </script> <script type="text/javascript"> function drawVisualization() { var dataTable = new google.visualization.DataTable(); dataTable.addColumn('number'); dataTable.addColumn('number'); dataTable.addRows([ [10,50], [50,60], [60,100], [80,40], [40,20] ]); var options = {cht: 'bvs', chs: '300x125', colors:['#4D89F9','#C6D9FD'], chds:'0,160', chxl:'0:|oranges|apples|pears|bananas|kiwis|', enableEvents:true}; var chart = new google.visualization.ImageChart(document.getElementById('visualization')); chart.draw(dataTable, options); // Assign event handler google.visualization.events.addListener(chart, 'onclick', mouseEventHandler); } google.charts.setOnLoadCallback(drawVisualization); // Define an event handler function mouseEventHandler(event) { document.getElementById('debugger').innerHTML += "You clicked " + event.region + "<br/>"; } </script> </head> <body style="font-family: Arial;border: 0 none;"> <div id="visualization" style="width: 300px; height: 300px;"></div> <div id="debugger"></div> </body> </html>
המדיניות בנושא נתונים
הנתונים נשלחים לשירות Google Chart API.
התאמה לשוק המקומי
התצוגה החזותית הזו תומכת בכל התאמה לשוק המקומי שנתמכת על ידי שירות Google Chart.