问题标签 [graph-drawing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
543 浏览

javascript - Force Directed 图可视化:是否可以确保某些节点彼此之间的距离比其他节点更近?

我正在做这个项目,我正在分析一个人与他的 Twitter 朋友和追随者的“亲密程度”。接近度是根据主题提及他人或被他人提及的次数来衡量的。

最后,我有这个连接的“权重”指标。我想为同一主题创建一个可视化,其中主题位于中心并被他的朋友/追随者包围。我希望权重较高的朋友/追随者更接近主题,并且随着连接权重的降低,它会越来越远离主题。

我目前正在使用Graph Dracula来生成相同的力有向图。是否有可能确保某些节点总是比其他节点更接近主题,或者我对力导向图可视化的理解都是错误的?

它是一个开源项目,您可以在此处找到,如果您想查看它的实际效果,请在此处尝试。

它绝不是完整的,因此请忽略(或报告)任何错误或您可能发现的任何内容。是的,目前只有 Chrome。

0 投票
1 回答
872 浏览

javascript - 有没有做气球树布局的javascript图形绘制库?

维基百科的条目说气球树布局是常见类型之一,但我找不到任何似乎支持开箱即用的 JavaScript 绘图库。我缺一个吗?一个便宜的或开源的 Flex/ActionScript 库也可以工作。我对图形绘制一无所知。使用 d3.js 之类的论文中的算法会很容易吗?

0 投票
1 回答
822 浏览

graph-drawing - 层分配的最长路径算法

我正在开发一个程序来生成公司的组织结构图。我一直在阅读关于对顶点进行分层的最长路径算法,有一件事一直困扰着我。我所做的阅读表明,该图应该从下往上分层,首先将没有子节点的节点放在底层,然后向上处理。但是,我还读到最长路径算法会导致底部非常宽的图。

我在想我会尝试从上到下构建图表,从没有父节点的节点开始,然后一路向下。也许这很常见,我只是没有看到它使用过,但我担心有一些我没有看到的原因导致这种方法不切实际。有什么我想念的吗?

0 投票
2 回答
1566 浏览

algorithm - 分层数据的最佳图形绘制算法?

我有一个几乎是树的有向无环图的集合,在以下意义上:每个图都有一个root,并且顶点被组织成级别,如果v 1v 2是顶点,那么如果v 1的级别是小于v 2的水平,则图中没有从v 2v 1的边,尽管从v 1可能有很多边到相同或更高级别的顶点。例如,表达式树、函数调用图或线性类层次结构都是此类图的示例。以下是此类图表的示例:

有大量的绘图算法,我无法确定哪种算法最适合这种情况。一些初步研究表明,绘制 Hasse 图的算法可能是合适的,但似乎此类算法的输出并不适合我试图建模的数据结构类型。还有几种用于对分层数据进行建模的算法,但我不确定哪种算法会在易于实现和效率之间取得平衡。前一种方法的一个问题是这些图既有根又有方向。如果可能,该算法将支持循环图,并最大限度地减少数值计算的数量,但这不是必需的。由于这些原因,我宁愿避免使用力导向算法,如果可能的话,

0 投票
1 回答
949 浏览

graphviz - 是否可以在graphviz中将子图进一步分开

我在graphviz中绘制了一个二分图,我希望它有两列由直线连接的节点(以匹配其他地方使用的样式)。我基本上可以得到我想要的东西(见图),但是列太靠近了,这使得边缘不必要地难以遵循。

我试图在前两个节点之间添加一个非常低权重的连接,希望它将两个子图分开,但这不起作用(并且经常会弄乱布局的其余部分)。有没有办法将右侧的节点列进一步向右移动。

这是一个显示我看到的问题的示例

两个子图靠得太近的有向图

这是我用来生成此图的代码

0 投票
3 回答
41241 浏览

python - 如何增加 networkx.spring_layout 的节点间距

绘制一个集团图

生成以下图片:

在此处输入图像描述

显然,节点之间的间距(例如,边长)需要增加。我用谷歌搜索了这个并在这里找到了这个建议

对于某些布局算法,有一个scale参数可能会有所帮助。例如

但是,该scale参数似乎没有任何作用。

获得更好绘图的正确方法是什么?

0 投票
1 回答
1726 浏览

r - 力导向图绘制:编辑特定节点之间的力(R)

我想使用 R 包 statnet 和/或 igraph 来分析社交网络,以参考力导向图形绘图 (kamada.kawai/fruchterman.reingold)。如果可以调整 2 个特定节点之间的“力”,例如考虑 2 个利益相关者之间更大或更小的合作。但是,我不想编辑所有节点之间的一般力

(如此处提议的:)

如何延长 igraph 网络图中的边缘(布局=fruchterman.reingold)?

这样做的想法是获得更真实的社交网络图像,也用于进一步分析。

非常感谢大家,周末愉快!

0 投票
1 回答
2103 浏览

algorithm - 非凸多边形 - 使用凸包算法的预处理

我使用了convexHull 算法来找到一些……不规则形状的轮廓。虽然还不够好...

很可能是因为我不能保证我的形状是凸的......

我有一组矩形,我希望能够获得轮廓外部的所有点 - 但不要抛出任何轮廓点。

在此处输入图像描述

凸包算法效果很好 - 但它就像右边的例子一样,所以我丢失了一些关于轮廓的信息。

我想要更接近左边版本的东西,保留外角,只消除里面的点......

有这样的算法吗?

或者,有没有办法将这样的形状(多边形)分解成凸形,以便凸包算法可以正确处理它?

从一个链接到另一个链接,我一直在试图弄清楚如何设置某种算法,比如 Hertel-Mehlhorn 算法——但我不知道在这种情况下使用相交线会做什么......

谢谢你的任何建议。

0 投票
1 回答
17796 浏览

c# - 图节点坐标评估

哪些 ( https://stackoverflow.com/questions/492893/graph-drawing-c-library ) 库可用于评估节点坐标?我的意思是我想通过单击它来添加或删除一些节点来绘制和操作图形,然后使用一些轻量级库评估坐标。

我所需要的只是可以在点文件和指定布局(http://en.wikipedia.org/wiki/DOT_language)上给我图形节点和 2D 点一致性的算法。

首选语言:C++、C#、Java

0 投票
2 回答
131 浏览

graphviz - graphviz 永远无法完成的问题

有人可以帮我弄清楚为什么下面的图表永远不会在点中生成吗?我认为这个问题与headport和tailport有关。如果我把它们拿出来就可以了,但理想情况下,出于风格原因,我希望它们留下来。