graphviz - 如何在矩形布局中以循环方式排列节点?

2024-01-19

预脚本

...就在我完成这些示例时,我看到了“往返”流程主题 https://stackoverflow.com/questions/18877045/graphviz-how-to-create-a-roundtrip-flow,看起来不错。 既然我已经把这个放在这里了,不妨问一下:还有其他选择吗?

原帖

有没有办法在子图中自动将节点布置在矩形布局中?

举个例子,假设我有给定的结构:

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    a -> b -> c -> d -> e -> f -> g -> h -> b;
}

This yields the diagram test_1

我的目标是让它们排成一个矩形,每行三个节点,形成

如果我尝试限制排名并更改rankdir,它不像预期的那样(我假设因为你无法改变rankdir像这样):

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    a -> b -> c -> d -> e -> f -> g -> h -> b;

    subgraph
    {
        rankdir="TB";
        rank="same";
        c; d; e;
    }

    subgraph
    {
        rankdir="TB";
        rank="same";
        f; g; h;
    }
}

如果我手动进行并分配排名以按照我的意愿排列,它会起作用:

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    a -> b -> c -> d -> e -> f -> g -> h -> b;

    { rank="same"; c; h; }
    { rank="same"; d; g; }
    { rank="same"; e; f; }
}

Edit

刚刚尝试了该方法,效果很好。我确实必须取消最右边的边缘的约束,以防止它形成不对称的形状,但总体来说效果就像一个魅力(而且更直观)!

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    a -> b -> c -> d -> e;
    e -> f [ constraint="false" ];
    b -> h -> g -> f [ dir="back" ];
}

不知道该把它放在哪里,但我会继续将其发布在这里作为侧面答案。

我尝试了一个更大的循环:

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    x -> y;
    y -> aa [ constraint="false" ];
    aa -> ab -> ac -> ba;

    { rank="same"; ba -> bb -> bc -> ca; }

    da -> cc -> cb -> ca [ dir="back" ];

    { rank="same"; aa -> dc -> db -> da [ dir="back" ]; };

}

还尝试了蛇形图案:

digraph
{
    rankdir="LR";

    node [ shape="circle", style="bold, filled", fillcolor="#dddddd" ];

    x -> y;
    y -> aa [ constraint="false" ];
    aa -> ab -> ac;
    ac -> ba [ constraint="false" ];
    bc -> bb -> ba [ dir="back" ];

    bc -> ca [ constraint="false" ];
    ca -> cb -> cc;

    cc -> da [ constraint="false" ];
    dc -> db -> da [ dir="back" ];

    y -> dc [ dir="back", constraint="false" ];

    // { rank="same"; aa; bc; ca; dc; };
}

这个还是有点乱啊

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

graphviz - 如何在矩形布局中以循环方式排列节点? 的相关文章

  • 使用 Jbuilder(或其他)的 Rails JSON API 布局

    在我的 Rails 3 2 应用程序中 我使用jbuilder https github com rails jbuilder呈现来自我的 JSON api 的响应 我想为所有 API 响应提供一个通用的结构 而布局可能是保持视图干燥的解决
  • 优选的标签云可视化格式

    出于好奇 我很想知道什么标签云格式最适合发现越来越多 相关 内容的目的 我知道 3 种格式 但不知道哪一种最好 1 好吃的一个 http delicious com tag 颜色渐晕 2 The 标准一 http stephenslight
  • 单击 libGDX 中的 Actor

    我的游戏中有一个覆盖层 其中包含屏幕图像和屏幕 上 的一组按钮 截屏 My Screen有一个Stage The Stage有一组Group对象 我将其视为图层 第一组具有背景 中间的组具有游戏元素 最前面的组具有屏幕覆盖 覆盖层由一个Im
  • UICollectionView - 水平滚动,水平布局?

    我有一个UIScrollView布置了一个图标网格 如果您能够想象 iOS Springboard 的布局 那么您的想法就非常接近正确了 它有一个水平的分页滚动条 就像 Springboard 一样 不过 布局似乎不太对劲 看起来好像是从上
  • 确定 WPF 元素相对于某个父元素的边界矩形

    我认为这是一个非常简单的请求 但我似乎无法在搜索中找到确凿的答案 如何确定窗口中特定视觉元素相对于其他父元素的边界 我尝试过使用LayoutInformation GetLayoutSlot但这似乎只是返回一个Rect在 0 0 处并且不反
  • Java垂直布局?

    我需要将 JLabel 垂直放置在一些 JButton 上 就像游戏菜单一样 它们都应该居中 我已经下载了 MigLayout 但我不知道如何使用它 所以我只是想要一种方法来垂直和居中定位我的组件 无论 MigLayout 与否 另外 我不
  • Swing 组件 - 禁用布局中的调整大小

    我有一个自定义 GUI 组件 它基于 Swing 的 JPanel 该组件放置在使用 BorderLayout 的 JFrame 中 当我调整框架大小时 该组件会不断调整大小 我怎样才能避免这种情况 我希望组件无论发生什么情况都保持相同的大
  • Android 并获取 id 转换为字符串的视图

    在 Android 项目的 Java 代码中 如果您想要视图资源的引用 您可以执行以下操作 View addButton findViewById R id button 0 在上面的 R id button 0 不是一个字符串 是否可以通
  • BlackBerry - 带居中位图的 ButtonField

    我有一个从 ButtonField 扩展的类 class BitmapButtonField extends ButtonField private Bitmap bitmap private int buttonWidth private
  • 类似于HTML中“li”元素的红点

    我有这样的 HTML 代码 tr td align left valign bottom class leftfooter a href Customer Support a a href class footerlink About a
  • 使用 jQuery Mobile 和响应式布局/CSS 媒体查询是否多余?

    我正在退房http mediaqueri es http mediaqueri es 今天发现这些网站非常适合移动设备 所以我想知道将 jQuery Mobile 和响应 自适应布局与媒体查询一起使用是否是多余的 因为仅使用媒体查询似乎是一
  • Android布局中如何实现Button的自动宽度

    我有几个垂直列出的按钮 我需要它们都具有相同的宽度 而且还要显示其中的所有文本 基本上我需要所有它们的宽度作为最大的宽度的包裹宽度 希望我解释得很好 现在 我已经有一种布局可以在我的 Samsung Galaxy S2 4 1 2 上运行
  • 如何使用CSS将文本放在“框”的右上角或右下角

    我怎样才能得到here and and here位于右侧 与 lorem ipsums 位于同一行 请参阅以下内容 Lorem Ipsum etc here blah blah blah blah lorem ipsums and here
  • 网格布局:创建 CSS,以便元素在调整相邻元素大小时保持位置

    我想在网格布局中构建一个简单的图像库 并且我正在使用类似的东西悬停时缩放 http www javascript fx com navigation imagezoom general help help html缩放悬停图像 但我宁愿使用
  • 哪个 Swing 布局管理器可以获得我想要的布局?

    我正在尝试按照这个模型制作一个基本的登录菜单 我决定将整个菜单放入 JPanel 中 以便在连接成功后我可以切换到另一个面板 所以我决定使用 Borderlayout 将标题放在北区 将连接按钮放在南区 我将边框布局的中心本身设置为面板 我
  • Android - 保存动态更改布局的状态

    我有一个布局 用户可以在其中添加按钮并将其放置在他们想要的位置 我想允许用户保存他们的布局 以便下次打开应用程序时加载它 有谁知道我是否可以将文件保存到 SD 卡上 或者 我可以使用某种layout getXml 方法并将其放入我的应用程序
  • 在流体设计中将元素的宽度调整为其高度的百分比,反之亦然? [复制]

    这个问题在这里已经有答案了 我正在制作响应式设计 无论屏幕尺寸是什么 它都必须保持其元素的比例 高度与宽度 所以我不知道任何元素的像素大小 并且我只能以 工作 我可以将宽度或高度设置为浏览器大小的百分比 但我不知道如何设置其他属性值 仅使用
  • 以编程方式将 TextView 添加到主屏幕小部件

    我想以编程方式将文本视图控件添加到我的主屏幕小部件 在下面的示例中 我使用 TextView 填充 Linearlayout 但是这里应该如何使用 RemoteView 它只接受 xml 资源布局作为参数 public class MyWi
  • 改变点的边缘方向

    我正在尝试用点画一个非常简单的图表 digraph untitled rankdir LR rank same S A B gt A B gt S A gt A S gt S A gt S S gt A A gt T S gt T 我得到的
  • 在运行时更改用作背景的 Drawable xml 内的形状纯色

    我有一个 Drawable xml 文件 background xml

随机推荐

  • mysql(几乎)完成审计

    我正在寻找一种为我的表制作简单事件日志的方法 我有几个表可以由不同的用户更改 我想跟踪 who made the change when what was before update what is the new value which
  • 将 HTTP 请求映射到 HTTP 响应

    如果我向同一服务器发出多个 HTTP Get 请求 并且每个请求都获得 HTTP 200 OK 响应 我如何使用 Wireshark 判断哪个请求映射到哪个响应 目前看起来好像发出了一个 http 请求 并且很快收到了下一个 HTTP 20
  • PDO 函数 setFetchMode

    你好 我试图用 PDO 来实现函数 但出现错误 PDO 新手 这是我的代码 function mail id mail global host dbname user pass DBH new PDO mysql host host dbn
  • 通过 Bower 安装 jQuery-Mobile

    在我的项目中 我想通过 Bower 使用 jquery mobile 在我可以使用它之前我必须运行npm install and grunt随后在bower components jquery mobile在我可以使用缩小版之前 js an
  • 解析显式数组

    我正在尝试解析来自服务器的此类响应 1 a b 2 000000 1 2 3 1 2 3 x y z 1 2 3 1 2 3 除了为这种类型的消息编写我自己的 hack ish 解析器之外 还有一种我不知道的标准方法来解释它吗 您的输入是J
  • JQuery UI,单页上多个日期选择器

    我正在为房地产创建一个 PHP 网站 我是 jQuery 和 jQuery UI 的新手 但似乎无法在其他地方找到答案 请看这个屏幕截图 全尺寸 https i stack imgur com b3yQX png 对于每个 已收到 和 到期
  • Angular UI Router:abstract:true不会显示页面

    我正在尝试使用嵌套导航来围绕 Angular UI Router 进行思考 我的应用程序有多个页面 我已经设置了 StateProvider 并且页面之间的基本路由可以正常工作 但是 我现在尝试在这些页面之一中实现选项卡式视图 我就是无法让
  • Jquery序列化和serializeArray不适用于谷歌浏览器

    我有以下 html fieldset fieldset
  • 如何在 VBA (Excel) 中获取以毫秒为单位的 DateDiff-Value?

    我需要计算两个时间戳之间的差异 以毫秒为单位 不幸的是 VBA 的 DateDiff 函数不提供这种精度 有什么解决方法吗 您可以使用描述的方法here http www tek tips com faqs cfm fid 2292如下 创
  • 如何在集群中为一个节点和所有节点运行计划方法?

    我有一个在集群中运行的 Glassfish 3 1 2 和一个 EJB 3 1 应用程序 我的应用程序中需要两种预定方 法 一种每天只运行一次 在单个节点上 以及其他在所有节点上运行的类型 每 1 2 分钟 它们不需要运行同步方式 要求只是
  • 如何递归地将项目添加到列表中?

    目前 我正在解决一个问题 我得到一个列表 其元素可能包含其他列表 列表的列表或整数 例如 我可能会收到 1 2 3 4 5 6 7 9 我的目标是解析数组并附加仅整数到一个新列表 这是我到目前为止所做的 def fun a if a ret
  • Django Admin:列表中的分组数据

    我可以在 Django Admin 中显示分组结果吗 默认情况下 它们显示所有行 我想根据某些字段对这些行进行分组并显示它 像 GROUP BY username 之类的东西 我尝试过搜索但没有成功 使用怎么样list filter my
  • IMFMediSource 不支持 IKsPropertySet 接口

    我正在将基于 Direct Show 相机的 SDK 移植到 MFT 在我的旧代码中 我有 KSProxy 接口 如 IksTopolgy IKsControl 和 IKsProperty IksTopolgy IKsControl 用于枚
  • 如何在 JavaScript 中将值从一个 html 页面传递到另一个页面?

    我知道这个问题问了很多次 但我的问题有所不同 我有 3 个 html 页面 例如apply html personal info html resume info html 在 apply html 页面中 我使用一个 LinkedIn 按
  • 从 android init.rc 执行静态程序

    我想在以下位置启动一个自定义程序init过程 我静态编译了这个程序 它可以在我启动的 android stock ROM 中正常运行 来自安卓init rc我读到的文档exec命令是我需要的 顺便说一句 我能看到的都是dmesg我的程序退出
  • 如何在Azure功能上安装apt-get包

    在 Linux 消费计划上运行 python Azure 函数 我已经能够使用 VS Code 成功将该函数部署到 Azure requirements txt 中的所有包都可以顺利安装 但现在我需要安装tesseract 它只能通过apt
  • 是否可以对特定于浏览器的 CSS 使用 mixin

    我正在寻找一种使用 mixin 进行特定于浏览器的 CSS hack 的解决方案 我正在使用 JavaScript 在 HTML 类中添加浏览器标签 喜欢 ie ie7 ie8 ie9 我想使用 mixin 像 box test margi
  • 创建自定义 DatePicker 对话框

    要求 当用户单击 TextView 时 应打开一个日期选择器 选择的默认日期应该是 TextView 中的日期 如果日期是过去的日期 则应禁用 DatePicker 对话框的 设置 按钮 如果可点击的 TextView 为空 则 DateP
  • 数据库驱动类动态加载

    我想用 java 开发一个与数据库无关的应用程序 我选择hibernate作为ORM jdbc的问题在于 它只是一个接口 我们需要在类路径中包含db的驱动程序类 由于数据库应该是可配置的 我必须动态加载数据库的驱动程序类 用户应该将驱动程序
  • graphviz - 如何在矩形布局中以循环方式排列节点?

    预脚本 就在我完成这些示例时 我看到了 往返 流程主题 https stackoverflow com questions 18877045 graphviz how to create a roundtrip flow 看起来不错 既然我