子图和聚类中的“等级=相同”问题

弗洛里安·克莱姆(Florian Klemme)

从“普通”子图切换到聚类时,rank=same似乎不再工作了。

为了显示我的问题,请看下面的示例图。

digraph INV_X1 {
    rankdir = "LR";
    edge [penwidth="2"];

/* Component styles */
    M_i_0 [shape=none;image="res/nmos.jpg"];
    M_i_1 [shape=none;image="res/pmos.jpg"];

/* Node styles */
    A [style=filled;color=green];
    ZN [style=filled;color=green];

/* Connections */
    M_i_0:n -> ZN;
    A -> M_i_0:w;
    /* Put M_i_0 and _VSS_0 on the same rank. */
    subgraph g_VSS_0 {
        rank=same;
        label="_VSS_0";
        _VSS_0 [shape=none;image="res/gnd.jpg";label=""];
        M_i_0 -> _VSS_0 [arrowhead=none];
    }
    M_i_1:s -> ZN;
    A -> M_i_1:w;
    /* Put M_i_1 and _VDD_1 on the same rank. */
    subgraph g_VDD_1 {
        rank=same;
        label="_VDD_1";
        _VDD_1 [shape=none;image="res/pwr.jpg";label=""];
        _VDD_1 -> M_i_1 [arrowhead=none];
    }
}

输出如下图所示。我希望它不会太混乱,因为我在节点上使用了一些图像。我创建了两个子图,每个子图将两个节点分组,并将它们置于相同的等级。一个子图位于中心顶部,另一个子图位于中心底部。

有子图的图

现在,我想从子图切换到群集,以确保将分组的节点始终放置在彼此靠近的位置,并且我想使用边框和标签使群集可见。但是,当我只是将子图名称更改为“ cluster _...”时,它看起来像这样。

同一图与聚类

这里有什么问题?为什么rank=same不再按预期工作?同样,给定的端口位置不再按预期运行(在节点的南/北不再连接边缘)。

我试图rank=same将群集退出到自己的语句中,但是随着边框和标签的消失,这似乎完全覆盖了之前的群集语句。另外,我尝试constraint=false在节点连接上使用,但是这弄乱了节点的顺序,因此我对这种方法并不满意。

任何帮助表示赞赏。如果要重新创建图形,可以在这里找到使用的图像

丹妮

没错,正如文档所述,“ rank”属性仅适用于子图(集群不再是子图)。但是有什么问题,将另一个子图放入群集中!

digraph INV_X1 {
    rankdir = "LR";
    edge [penwidth="2"];

/* Component styles */
    M_i_0 [shape=none;image="res/nmos.jpg"];
    M_i_1 [shape=none;image="res/pmos.jpg"];

/* Node styles */
    A [style=filled;color=green];
    ZN [style=filled;color=green];

/* Connections */
    M_i_0:n -> ZN;
    A -> M_i_0:w;
    subgraph cluster_a{
    /* Put M_i_0 and _VSS_0 on the same rank. */
        label="_VSS_0";
        subgraph g_VSS_0 {
            rank=same;
            _VSS_0 [shape=none;image="res/gnd.jpg";label=""];
            _VSS_0 -> M_i_0 [arrowhead=none];
        }
    }
    M_i_1:s -> ZN;
    A -> M_i_1:w;
    /* Put M_i_1 and _VDD_1 on the same rank. */
    subgraph cluster_b {
        label="_VDD_1";
        subgraph g_VDD_1 {
            rank=same;
            _VDD_1 [shape=none;image="res/pwr.jpg";label=""];
            M_i_1 -> _VDD_1 [arrowhead=none];
        }
    }
}

另请注意,由于某些原因,我更改了边缘M_i_1 -> _VDD_1的顺序,_VSS_0 -> M_i_0因此它们被反转了。

结果:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在图上以相同的顺序关联聚类标签和树状图

HeatMap:如何仅对行进行聚类并使热图的列标签的顺序与 df 中的顺序相同?

在多个类中继承相同接口的问题

if 和 else 语句输出相同的问题

NULL 和 0 行为相同的问题

bootMer CI问题:上限和下限相同

R中的分层聚类-'pvclust'问题

C# 中相同命名空间和类名的问题

图类中 getVertex() 的问题

CSS导航和徽标相同位置问题

在Rails 4问题上以相同的动作管理GET和POST

jQuery和具有相同名称问题的表单

熊猫groupby和等级-重复的等级相同

与.htaccess中的URL的起始名称相同的URL重写问题

限制SonarQube中每行相同支票的问题

在C#中多次询问用户相同的问题

python中具有相同功能的数组的问题

django 中相同视图中的问题女巫 pyplot 图形

python中替换函数的问题(替换相同的字符串)

聚类抽样中的问题:“与负下标混合”

python:使用sklearn的文档聚类中面临内存问题

当案例类和对象名称相同时,Slick 2会出现Scala问题

二叉树垂直顺序遍历中具有相同水平高度和相同垂直高度的元素的问题

node.js和python中相同问题解决方案的不同结果

Kmeans 聚类错误:绘制聚类的问题

Python Seaborn Pandas条形图问题-不同州的年份相同

Julia 中的小提琴图问题:不能对 2 个数据集使用相同的 x 位置

使用matplotlib imshow和scatter获得相同的子图大小

关于 Powershell 对象、属性名称、具有相同名称的多个属性值和点源问题的问题