GraphViz 图表

   

本文档介绍了如何使用 Chart API 创建 GraphViz 图表。

概览

GraphViz 是一个开源工具包,用于直观呈现连接图。您可以使用 DOT 语言和所选的布局引擎来创建 GraphViz 图表。

GraphViz 图表支持一组不同的必需参数。以下是支持的参数:

参数 必填还是选填 说明
cht=gv[:<opt_engine>] 必需

指定 GraphViz 图表。您可以选择指定 GraphViz 引擎。如果您想指定布局引擎,请添加英文分号:标记,并为 <opt_engine> 指定以下字符串之一:

  • dot - 默认引擎
  • neato
  • twopi
  • circo
  • fdp

有关这些不同引擎的说明,请参阅 GraphViz 网站

chs=<width>x<height> 可选 如果您未指定大小,系统会自动调整图表大小。
chl=<DOT_string> 必需 要绘制的图表,采用 DOT 语言表示法。您可以在 GraphViz 网站上找到 DOT 语言参考文档
chd 未使用 由于 chd 参数被忽略,因此 GraphViz 代码出现异常。请勿将其添加到您的网址中。
chof=<output_format> 可选 图表的输出格式。请参阅参数说明,了解支持哪些输出格式。如果您指定 chof=json,则会返回图表的 JSON 表示法(作为 HTML 图片映射),可用于向图表添加链接或互动。如需了解详情,请参阅创建图表图片映射
callback=<handling_function_name> 可选 如果指定 chof=json,您还可以指定要使用返回的 JSON(包含图表图片映射)进行调用的函数。您的函数必须接受单个 JSON 参数,该参数将是图表的 JSON 表示形式。然后,您的网页可以将图表指定为 <img> 元素来呈现该图表,还可使用 chof=json&callback=somefunc 调用同一网址,并添加一个名为 somefunc() 的函数,该函数将解析返回的 JSON 并添加链接或互动。

 

示例

说明 示例

dot 引擎示例(默认)。

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

同一图表的 neato 引擎示例。 neato 图表
cht=gv:neato
chl=digraph{A->B->C->A}
chs=150x150
未指定大小的点状图。 该图表的大小由系统自动设置。 未指定大小的 dot 图表
cht=gv
chl=graph{a--b--c;b--d}
更为复杂的图表。 更为繁复的 dot 图表
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 图表中的一些提示和已知限制:

  • 不应使用 graph 属性 size,请改用 Chart API 参数 chs
  • 节点数上限为 200,边缘的最大节点数为 400。
  • 不支持抗锯齿、透明度和交替字体。
  • node 属性 imageshapefile 不受支持,如果存在,则会导致错误。
  • graph 属性 ratiomarginpad 不受支持,如果存在,将被忽略。