我正在寻找一个简单的Javascript库(svg?),它允许我绘制一个家谱关系。
我在google上搜索了很多很多有趣的图书馆,比如Raphaël和它的扩展Dracula。 谷歌也有自己的库来制作流程图。
不幸的是,每个库都在一个带有sigle线的节点之间建立关系。如果A和B与C有关系,我将获得2行:一行从A到C,一行从B到C.
我需要的是一条从A到B的线(我们称之为AB)和一条从AB到C的线来表示A和B的结婚。
感谢。
答案 0 :(得分:3)
答案 1 :(得分:1)
我定制了一个Graphviz点文件来生成这样的输出。目前,我正在使用Ruby脚本从.gedcom文件生成此脚本。
这里的.dot内容,带有数字的节点只是点,并以正确的方式流过边缘。
digraph G {
graph [nodesep=0.2,splines=ortho,ranksep=0.05]
node [shape=box,fontname=Helvetica,fontsize=8;color="green",fixedsize=true,width=1,height=0.5,style=filled]
Grandfather [color="lightblue"]
Grandmother [color="pink"]
StephGrandmother [color="pink"]
Father [color="lightblue"]
Mother [color="pink"]
Uncle [color="lightblue"]
Laurent [color="lightblue"]
Child2 [color="lightblue"]
Child3, Child4 [color="pink"]
node[label="", width=0, height=0];
edge[arrowhead=none, color=blue];
{rank=same;StephGrandmother;Grandfather;Grandmother;Grandfather1}
{rank=same;Father;Father1;Mother;Uncle}
{rank=same;Laurent;Child2;Child3,Child4}
{rank=same;Father2;Father3}
StephGrandmother:e -> Grandfather:w
Grandfather:e -> Grandfather1
Grandfather1 -> Grandmother:w
Grandfather1 -> Grandfather2
Grandfather2 -> Father:n
Grandfather2 -> Uncle:n
Father:e -> Father1
Father1 -> Mother:w
Father1 -> Father2
Father2:w -> Laurent:n
Father2:w -> Child2:n
Father2 -> Father3
Father3:e -> Child3:n
Father3:e -> Child4:n
}
答案 2 :(得分:1)
我发现3种方法可以满足您的要求:
参考链接:https://balkangraph.com/OrgChartJS/Demos/RoyalFamilyTree
演示:https://treehouse.gartner.io/ErikGartner/58e58be650453b6d49d7
参考链接:https://github.com/ErikGartner/dTree
答案 3 :(得分:0)
虽然不是"库"但是存在一个实用程序,允许您精确绘制您描述的内容。简单地称为" SVG Utility",这是一个免费的软件,带有图形设计器,允许您定义真实的家庭关系(包括多个配偶,暂定的孩子等)。请参阅More on SVG Family Trees。
设计完成后,将以简单的文本文件格式捕获关系和布局,以便对其进行修改或重复使用。该实用程序生成SVG版本,以便在博客文章或其他网页中使用。有几种可能的配置允许在同一页面上显示多个SVG图像,工具提示或弹出信息在人员框或"家庭",单个树的平移缩放,缩略图图像和字幕等等
Dropbox文件夹中提供了安装工具包,文档和示例。联系上面提到的博客文章的作者以获取访问权限。
该实用程序旨在在Windows下运行,但也在Mac上的WINE兼容层下运行。
答案 4 :(得分:0)
找到了TreantJS-可能会有帮助。
答案 5 :(得分:0)
我知道我参加聚会真的很晚,但是当我看到您的示例图像是使用yEd创建的时,我认为链接到基于yEd的基础软件库将是一个好主意。毕竟,有一个JavaScript version of the graph visualization library具有内置的族谱的特定自动布局。
有一篇关于如何将该库用于draw family charts in JavaScript的文章,因此,如果是在商业环境中(这是一个商业图书馆),您可能需要看看一下,因为它专门解决了该问题与连接(“婚姻节点”)一起描述:
灰色圆形节点表示婚姻,子节点连接到各自父母的婚姻节点。
如果不是自动布局,当然您可能还需要查看this question中的其他库。
免责声明:我为提供链接库的公司工作,但我不代表该公司。我的评论,意见和答案是我自己的。