小编cdM*_*nix的帖子

使用dagre-d3或colajs在d3js中的流程图

在看到dagre-d3 相当复杂的TCP状态图示例之后,我认为它能够解析类似复杂性的图表.在下图中,显然不是这种情况.如果交换了两个标记的节点,则将解析所有交叉. 使用dagre和d3.js创建的图表

另一件有趣的事情是,图表的解决效果似乎取决于我设置边缘的顺序.

以下代码

g.setEdge("148570019_1100", "148570020_1100", { label: "" });
g.setEdge("148570019_1100", "148570021_1100", { label: "" });
g.setEdge("148570019_1100", "148570010_1100", { label: "" });
Run Code Online (Sandbox Code Playgroud)

不会给出与此相同的结果:

g.setEdge("148570019_1100", "148570010_1100", { label: "" });
g.setEdge("148570019_1100", "148570020_1100", { label: "" });
g.setEdge("148570019_1100", "148570021_1100", { label: "" });
Run Code Online (Sandbox Code Playgroud)

看这两个例子:

正如所建议的那样,我尝试使用cola.js,这就是相同的图形: 使用cola.js和d3.js创建的图表

如你所见,colajs更适合减少交叉,但布局并不像dagre那样结构清晰.我对colajs使用以下设置:

cola.d3adaptor()
      .avoidOverlaps(true)
      .convergenceThreshold(1e-3)
      .symmetricDiffLinkLengths(20)
      .flowLayout('x', 150)
      .size([width, height])
      .nodes(nodes)
      .links(edges)
      .constraints(constraints)
      .jaccardLinkLengths(300);
Run Code Online (Sandbox Code Playgroud)

是否有可能以一种使其看起来更结构化的方式配置colajs,类似于dagre?并且dagre根本无法解决这样的问题,或者是否可以以某种方式配置它?

javascript d3.js dagre dagre-d3

11
推荐指数
1
解决办法
2555
查看次数

使用file.managed在Salt中下载文件

salt.states.file.managed需要source_hash作为参数来验证下载的文件.这阻止我使用file.managed我无法控制的在线服务器上的文件.该文件也会定期更改.我的配置看起来像这样.

download_stuff:
  file.managed:
    - name: localfile.tar.gz
    - source: http://someserver.net/onlinefile.tar.gz
    - source_hash: ???
Run Code Online (Sandbox Code Playgroud)

我不希望使用cmd.run具有Curlwget因为这将始终下载该文件,甚至当它已经在本地机器上.

我想知道下面的选项之一是否可能/存在:

  • 在线md5计算服务.有没有办法使用免费的Web服务获取文件的md5哈希?我在想类似的东西http://md5service.net?url={url-to-file}.
  • 盐内转换或变通方法.在Salt中可以处理这个问题吗?也许以source_hash某种方式遗漏?
  • 替代国家.Salt中是否有其他状态可以执行此类操作,而不会失去仅在需要时下载文件的好处?

hash md5 web-services salt-stack

8
推荐指数
1
解决办法
6188
查看次数

用2个变量计算Javascript

我的表单计算有问题.

这是我的javascript:

function kembali()

var total=document.getElementById('total1').value;
var bayar=document.getElementById('bayar1').value;
document.getElementById('kembalian1').value=bayar*total;
Run Code Online (Sandbox Code Playgroud)

这是我的HTML:

<form><table><tr>
    <td>Total</td>
    <td>:</td>
    <td><input type="text" name="total" id="total1" value="50000"/></td>
</tr>
<tr>
    <td>Bayar</td>
    <td>:</td>
    <td><input type="text" name="bayar" id="bayar1" onkeyup="kembali()" autocomplete="off"/></td>
</tr>
<tr>
    <td>Kembalian</td>
    <td>:</td>
    <td><input type="text" name="kembalian" id="kembalian1"/></td>
</tr></table></form>
Run Code Online (Sandbox Code Playgroud)

我将此代码用于jsfiddle.net并且无法正常工作.如何解决这个问题?你能帮助我吗?谢谢.

这是一个例子

html javascript jquery

6
推荐指数
1
解决办法
92
查看次数

标签 统计

javascript ×2

d3.js ×1

dagre ×1

dagre-d3 ×1

hash ×1

html ×1

jquery ×1

md5 ×1

salt-stack ×1

web-services ×1