במאמר זה נתאר כיצד ליצור תרשימי GraphViz באמצעות ממשק ה-API של התרשים.
סקירה כללית
GraphViz היא חבילה של כלים בקוד פתוח לתצוגה חזותית של תרשימי קישוריות. אפשר ליצור גרפים של GraphViz באמצעות שפת DOT ומנועי הפריסה שבחרת.
תרשימי GraphViz תומכים בקבוצה שונה של פרמטרים נדרשים. אלה הפרמטרים הנתמכים:
פרמטר | נדרש או אופציונלי | תיאור |
---|---|---|
cht=gv[:<opt_engine>] |
חובה | מציין תרשים של GraphViz. אפשר לציין מנוע GraphViz. אם רוצים לציין מנוע פריסה, כוללים את התו נקודה-פסיק : מסמנים ומציינים את אחת מהמחרוזות הבאות עבור <opt_engine>:
ניתן למצוא תיאור של המנועים השונים האלה באתר GraphViz. |
chs=<width>x<height> |
אופציונלי | אם לא תציינו גודל, גודל התרשים יותאם באופן אוטומטי. |
chl=<DOT_string> |
חובה | התרשים שיש לצייר, בסימון שפה DOT. אפשר למצוא מקורות מידע בנושא DOT באתר של GraphViz. |
chd |
לא בשימוש | קודי GraphViz אינם שגרתיים, מכיוון שהמערכת מתעלמת מפרמטר chd. אין לכלול אותו בכתובת ה-URL. |
chof=<output_format> |
אופציונלי | פורמט פלט של התרשים. בתיאור הפרמטר מוסבר אילו פורמטים של פלט נתמכים. אם מציינים chof=json , יוחזר
ייצוג JSON של התרשים כמפת תמונה של HTML,
שאפשר להשתמש בו כדי להוסיף קישורים לתרשים או להפעיל בו תכונות. פרטים נוספים זמינים במאמר יצירת מפת תמונה של תרשים. |
callback=<handling_function_name> |
אופציונלי | אם מציינים chof=json , אפשר גם לציין פונקציה לקריאה באמצעות קובץ ה-JSON שמוחזר, שכולל את מפת התמונה של התרשים.
הפונקציה צריכה לקבל פרמטר JSON יחיד, שיהיה ייצוג JSON של התרשים. לאחר מכן הדף יכול לציין את התרשים כרכיב <img> לעיבוד התרשים, וגם לקרוא לאותה כתובת URL באמצעות chof=json&callback=somefunc ,
ולכלול פונקציה בשם somefunc() שתנתח את קובץ ה-JSON שהוחזר ותוסיף קישורים או אינטראקטיביות. |
לדוגמה:
תיאור | דוגמה |
---|---|
דוגמה למנוע נקודה (ברירת מחדל). |
|
דוגמה למנוע neato של אותו תרשים. | cht=gv:neato |
תרשים נקודות, ללא ציון גודל. גודל התרשים נקבע באופן אוטומטי. | cht=gv |
תרשים מורכב יותר. | cht=gv |
הנה מספר טיפים ומגבלות ידועות בתרשימים הנוכחיים של GraphViz:
- אין להשתמש במאפיין
graph
size
. במקום זאת, צריך להשתמש בפרמטר Chart APIchs
. - המספר המקסימלי של צמתים הוא 200, והמספר המקסימלי של הצמתים הוא 400.
- אין תמיכה בהחלקה , בשקיפות ובגופנים חלופיים.
- אין תמיכה במאפייני ה-
node
image
ו-shapefile
. אם קיימים המאפיינים, תתקבל שגיאה. - מאפייני
graph
ratio
,margin
ו-pad
אינם נתמכים. אם הם קיימים, המערכת תתעלם מהם.