du0173 2011-10-20 01:56
浏览 51
已采纳

使用php中的md数组创建graphviz图

Hy, I'm looking for a way to create a GraphViz graph from php arrays. I have an associative multidimensional array from which I need to extract the keys and their corresponding values, and use them to create a graph. Example by 1D array:

$arr = ("dogs" => "4", "cats" => "3"); 

I need to extract the key "dogs" and use it as the label of a nod, and extract the corresponding value "4" and somehow use that to define the size of that nod. I need to do the same thing with multidimensional arrays. Just a silly example:

$md_arr = ("dogs" => array("rot" => "7", "blood_hound" => "4"), 
           "cats" => array("long_hair" => "12", "some_other_kind" => "1")
          );

I need the output to be defined something like this:

name/label of the first node: first key from the first array => "dogs" name/label of the second node: first key from the second array => "rot" , size of that node is a value of the corresponding key - in this case "7".

I also need to know how to pass the variable from my array_script.php (script that creates my MD array) to a new script that will create the graph. I tried putting the example code for creating graph into my php script, and the output was a warning message stating:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\hare.php:1) in C:\xampp\php\PEAR\Image\GraphViz.php on line 174

Can anyone please help me with this?

  • 写回答

1条回答 默认 最新

  • duanan1228 2018-02-01 08:27
    关注

    I figured it out on my own :) link the trick is to use addNode function. In my case, I needed to create dynamic graph using data from dynamicaly populated MD array. So you just need to name the node with a variable containing data you need. I needed the label to be set by the value from a variable as well, so here's the code: $graph->addNode($var1, array('label' => $var1)); $graph->addNode($var2, array('label' => $var2)); $graph->addEdge(array($var1 => $var2)) works if var names are same, but values are differnet

    6 years late to the party, but hey! I do apologize to the community. I have no idea what was happening 6 years ago.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的