我一直在尝试在点中实现维恩图。尽管维恩图在Dot中可能没有那么有用,但主要是因为我可以将其用作非常基本的构建基块。
我提供了一些尝试执行此操作的方法:
graph G {
subgraph cluster0 {
color=white;
subgraph cluster0 {
label="1";
color=black;
a;
b;
}
subgraph cluster1 {
label="2";
color=black;
b;
c;
}
}
subgraph cluster1 {
color=white;
subgraph cluster2 {
label="1";
color=black;
d;
}
subgraph cluster3 {
label="1+2";
color=black;
e;
}
subgraph cluster4 {
label="2";
color=black;
f;
}
}
subgraph cluster2 {
color=white;
subgraph cluster5 {
label="1";
color=black;
g;
subgraph cluster6 {
label="2";
color=black;
h;
}
}
subgraph cluster6 {
label="2";
color=black;
i;
}
}
a -- d -- g [penwidth=0];
b -- e -- h [penwidth=0];
c -- f -- i [penwidth=0];
}
生产:
这些都有问题:
第一个说
b
在1
中,但不在2
中。什么时候都应该在两者中。第二个看起来像是与
1
和2
分开的。很难证明两者都是。第三个几乎是完美的IMO,只需要将两个
2
子图连接在一起即可。为防止XY问题,我有:
两台服务器,
两台服务器之间的docker集群,以及
三个应用。位于:
一个在第一台服务器上,而不是在docker swarm中。
一个在docker swarm中的第一台服务器上。
一个在docker swarm中的第二台服务器上。
导致:
graph G {
subgraph cluster0 {
color=white;
subgraph cluster0 {
label="Server1";
color=black;
a;
subgraph cluster0 {
label="Docker";
b;
}
}
subgraph cluster1 {
label="Server2";
color=black;
subgraph cluster0 {
label="Docker";
c;
}
}
}
subgraph cluster1 {
color=white;
subgraph cluster0 {
label="Server1";
color=black;
d;
}
subgraph cluster1 {
label="Docker";
color=black;
subgraph cluster0 {
label="Server1";
e;
}
subgraph cluster1 {
label="Server2";
f;
}
}
}
a -- d [penwidth=0];
b -- e [penwidth=0];
c -- f [penwidth=0];
}
最佳答案
我不确定您的问题到底是什么?但是可能无法使用graphviz制作维恩图。见Venn Diagram Drawing Algorithms
关于dot - 点的维恩图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49154480/