上記の答えはすべて大枠にありますが、もう1つ答えを入れます。
すべてのブラウザで作業したいと仮定しましょう。Internet Explorer で作業する必要があり、独自の Canvas ソリューションをコーディングする場合は、ExplorerCanvasを含めることができます。
家系図は基本的に二分木です。実生活では、養子縁組や離婚などで注意が必要ですが、特定の人から一方向 (先祖) に向かう二分木であると仮定してみましょう。
Canvas を使用し、IE で動作するためのブリッジが含まれ、単純で一般的なデータ形式を使用する優れたツールは、JavaScript InfoVis Toolkit です。
http://thejit.org/static/v20/Jit/Examples/Spacetree/example2.htmlでサンプルを確認してください。
すぐに使用できるとは限りませんが、ルック アンド フィールを微調整することはできます。
プラグインへのデータ ペイロードは非常に単純で、例は次のようになります。
var tree = {
id: "ME", // Needs to be internally unique
name: "ME", // Visual label, does not need to match id
data: {}, // not really used here, but parameter needed
children: [
{id: "DAD",
name: "DAD",
data: {},
children: [
{id: "GrDAD1",
name: "GrDAD1",
data: {},
children: []},
{id: "GrMOM1",
name: "GrMOM1",
data: {},
children: []},
]},
{id: "MOM",
name: "MOM",
data: {},
children: [
{id: "GrDAD2",
name: "GrDAD2",
data: {},
children: []},
{id: "GrMOM2",
name: "GrMOM2",
data: {},
children: []},
]}
]
};
他にも解決策があると思います。あなたに合った解決策が見つかることを願っています。