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,系统会以 HTML 图片映射的形式返回图表的 JSON 表示,您可以使用该映射向图表添加链接或互动功能。如需了解详情,请参阅创建图表图片映射
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,如果存在,系统会忽略该属性。