- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想确保布局后所有节点都在某个范围内(比如 [0,0,W,H])。
我认为边界框将是使用 bb
的解决方案属性,但 dot 和neato 都简单地覆盖了它。
例如我的图表:
strict digraph {
1,2,3;
1 -> 3;
3 -> 2;
}
neato -Gbb="0,0,50,50" -T dot file.txt
的输出:
strict digraph {
graph [bb="0,0,120.49,162.36"];
node [label="\N"];
1 [height=0.5,
pos="27,18",
width=0.75];
3 [height=0.5,
pos="70.233,75.918",
width=0.75];
1 -> 3 [pos="e,57.954,59.469 39.043,34.133 43.004,39.441 47.504,45.468 51.827,51.261"];
2 [height=0.5,
pos="93.485,144.36",
width=0.75];
3 -> 2 [pos="e,87.436,126.56 76.221,93.545 78.643,100.67 81.496,109.07 84.177,116.97"];
}
bb
的任何值,我都得到相同的位置或
size
的任意组合和
dpi
.
最佳答案
这是 TL; DR 版本:
要从 foo.gv 中的图形生成 900 x 1500 像素的 PNG 图像,您可以运行:
dot -Tpng -Gsize=9,15\! -Gdpi=100 -ofoo.png foo.gv
convert foo.png -gravity center -background white -extent 900x1500 final.png
convert
是
ImageMagick 的一部分套房。
bb
attribute is marked as "write-only" ,因此没有一个 Graphviz 布局引擎可能会尊重您在处理之前提交的任何值。 dpi
属性仅对位图和 SVG 输出格式有效。 gvgen -dh3
将生成三次有向超立方体。 (如果您想了解更多详细信息,gvgen 手册页的 PDF 版本是
here ,但没关系,它只是用于演示目的的任意图形。)
gvgen -dh3 | dot -Tpng -oexample.png
file example.png
报道。)
size
属性允许您推荐输出图像的最大或所需高度和宽度(以英寸为单位)。即,属性
size=3,5
告诉 Graphviz 最多生成 3 x 5 英寸的图像。如果图像开始时小于 3 x 5,Graphviz 将不理会它。如果图像开始时大于 3 英寸 x 5 英寸,Graphviz 将缩小它,直到它适合 3 x 5 英寸的 Canvas (保留原始图像的纵横比)。
size
属性从最大大小到所需大小。现在,如果两个尺寸都小于指定尺寸,则将按比例放大绘图,直到至少一个尺寸等于指定尺寸。
gvgen -dh3 | dot -Tpng -Gsize=3,5\! -oexample.png
\!
转义了 bash 的感叹号。在 DOT 文件中,您只需编写
size=3,5!
。)
dpi
attribute 覆盖默认 DPI 值。 ,像这样:
gvgen -dh3 | dot -Tpng -Gsize=3,5\! -Gdpi=200 -oexample.png
size
和
dpi
适本地。
gvgen -dh3 | dot -Tpng -Gsize=9,15\! -Gdpi=100 -oexample.png
gvgen -dh3 | dot -Tpng -Gsize=3,5\! -Gdpi=300 -oexample.png
gvgen -dh3 | dot -Tpng -Gsize=900,1500\! -Gdpi=1 -oexample.png
ratio
attribute的地方发挥作用。
gvgen -dh3 | dot -Tpng -Gsize=3,5\! -Gdpi=300 -Gratio=fill -oexample.png
ratio
也接受一些不同的值。见
the documentation和/或尝试一下看看他们做了什么。
convert in.png -gravity center -background white -extent 900x1500 out.png
in.png
)在 900 x 1500 像素的 Canvas 上居中(将其保存到
out.png
)
关于graphviz - 如何在 GraphViz 中为点格式设置输出大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784405/
我试图写我自己的 little algorithm用于仅创建节点布局但不定义边路由的图形布局。当我使用 Graphviz 将生成的点文件转换为图形时,边缘是穿过节点甚至相互重叠的直线。有没有一种方法可
我正在创建一个包含一千条边的圆形图。 如果我只在那里放一些,它工作得很好,例如,我可以改变边缘长度。但是,当我将所有数据放入时,我似乎无法再控制大小了。这张图片只是膨胀得离谱,只有微小的节点和与其他节
我正在使用 Doxygen 在我的源代码中制作一些 GraphViz 点图。 问题:由特定点文件生成的图形是否保证始终生成相同的输出? 对于不同的计算机、一天中的不同时间、不同的体系结构等,情况是否如
我怎么能画一个 arc graph在 GraphViz 中?我不能强制节点排成一行。 最佳答案 由于我没有足够的声誉来添加评论,我在这里发布了一些建议。下面的代码解决了强制节点排成一行的问题。 dig
我正在为graphviz HTML nodes使用per my previous question。为什么我要在外面放多余的盒子,如何摆脱它?另外,如何缩小身材? digraph g {
我有一组用 DOT 语言编码的有向图。我想构建一个图图,使得超图中的每个节点都是这些有向图之一。有没有办法在 GraphViz 框架内做到这一点? 我知道gvpack将允许我将多个图形组合成一个 .d
我想知道如何才能 strike-through我的节点中的一些文本基于点 graphviz图表? 我在此页面上查看过,但无法弄清楚: http://www.graphviz.org/doc/info/
我将 Graphviz 用作库 (C++)。我需要 Graphviz 来计算节点和相应边的坐标。我正在渲染自己(即不使用 Graphviz 的渲染器)。我的节点是矩形,具有定义的宽度和高度(以像素为单
我正在使用 Graphviz绘制一些图形。我在节点上使用标签,我可以输入 "\n"强制它将标签分成 2 行。有没有办法让 Graphviz(或我正在使用的 dot)自动看到它应该拆分一些节点标签,并让
我试图在 Graphviz 中的集群之间建立一个边缘,其中边缘不影响排名。 这看起来不错: digraph { subgraph clusterX { A B } s
我正在构建一个epsilon NFA,以使用规范构造来识别正则表达式。我正在使用子图对正则表达式的各个部分进行分组。 *运算符给我特别麻烦,因为dot决定移动节点的顺序。我尝试添加边缘权重以强制使特定
我正在尝试使用点显示从右到左(即向后)的边缘: C B 我能做的最好的是: digraph { a -> b; c -> a [dir="back"]; {rank=same;c a b
我用点语言制作了一棵树,类似于here . 有什么方法可以让树向右扩展,而不是向下扩展(因此根节点位于左侧,子节点向右扩展)。 最佳答案 这很简单,只要你坚持基本布局:place rankdir ="
我有以下 graphviz 文件: digraph ServerDependency { Server02 -> Server01 [tooltip="Database"]; Serv
我有几个相关的子图,我想在 GraphViz 中将它们绘制在一起。当我绘制简单的节点时,它看起来很漂亮: 来源: digraph { rankdir=LR; A1 -> A21; A1 -
我使用下面的代码使用点(graphviz)创建了一个图形。 digraph { node [color=Blue,shape=box] 1.1 [label="Frequency of t e
我用graphviz画了一张图。请参阅FSM 。我认为它很丑,因为自环边缘太短。边缘的属性“minlen”对我不起作用。我尝试了节点的几个端口,但除了我当前的实现之外,一切都显示出一团糟。你有什么好主
基本问题是如何控制 Graphviz 图中元素的垂直和水平定位。 考虑这个图表的摘录(在 wysiwig 编辑器中创建)。 我试图在 Graphviz 中重现它,以确定它是否适合我的目的。 digra
我有一个简单的 .dot 文件(graphviz),见下文: digraph Mapper{ Mapper [label=Mapper]; General [label=General];
我想在 GraphViz 中绘制 Chimera 类型的图形: https://www.ibm.com/developerworks/community/blogs/jfp/resource/BLOG
我是一名优秀的程序员,十分优秀!