نمودارهای GraphViz

این سند نحوه ایجاد نمودارهای GraphViz را با استفاده از Chart API شرح می دهد.

بررسی اجمالی

GraphViz بسته ای از ابزارهای منبع باز برای تجسم نمودارهای اتصال است. شما می توانید نمودارهای GraphViz را با استفاده از زبان DOT و موتورهای چیدمان انتخابی خود ایجاد کنید.

نمودارهای GraphViz از مجموعه متفاوتی از پارامترهای مورد نیاز پشتیبانی می کنند. در اینجا پارامترهای پشتیبانی شده وجود دارد:

پارامتر الزامی یا اختیاری شرح
cht=gv[:< opt_engine >] ضروری

نمودار GraphViz را مشخص می کند. شما می توانید به صورت اختیاری یک موتور GraphViz را مشخص کنید. اگر می خواهید یک موتور طرح بندی مشخص کنید، نقطه ویرگول را وارد کنید: علامت گذاری کنید و یکی از رشته های زیر را برای < opt_engine > مشخص کنید:

  • dot - موتور پیش فرض
  • neato
  • twopi
  • circo
  • fdp

برای توضیح این موتورهای مختلف به وب سایت 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 برگشتی را تجزیه می‌کند و پیوندها یا تعاملی را اضافه می‌کند. .

مثال ها:

شرح مثال

نمونه موتور نقطه ای (پیش فرض).

dot chart
cht=gv
chl=digraph{A->B->C->A}
chs=150x150

نمونه موتور neato از همان نمودار. neato chart
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
نمودار نقطه‌ای، بدون اندازه مشخص. نمودار به طور خودکار اندازه می شود. dot chart with no size specified
cht=gv
chl=graph{a--b--c;b--d}
نمودار پیچیده تر A fancier dot chart
cht=gv
chl=
graph{C_0--H_0[type=s];C_0--H_1[type=s];C_0--H_2[type=s];C_0--C_1[type=s];C_1--H_3[type=s];C_1--H_4[type=s];C_1--H_5[type=s]}

در اینجا چند نکته و محدودیت های شناخته شده در نمودارهای GraphViz وجود دارد:

  • size ویژگی graph نباید استفاده شود. به جای آن از پارامتر Chart API chs استفاده کنید.
  • حداکثر تعداد گره ها 200 و حداکثر برای لبه ها 400 است.
  • فونت های ضد الایاسینگ، شفافیت و جایگزین پشتیبانی نمی شوند.
  • ویژگی های node image و shapefile پشتیبانی نمی شوند و در صورت وجود با خطا مواجه می شوند.
  • ratio ویژگی‌های graph ، margin و pad پشتیبانی نمی‌شوند و در صورت وجود نادیده گرفته می‌شوند.