GoJS最简单的实例

 复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var diagram = new go.Diagram("myDiagramDiv");
        var node = new go.Node(go.Panel.Auto);
        var shape = new go.Shape();
        shape.figure = "RoundedRectangle";
        shape.fill = "lightblue";
        node.add(shape);
        var textblock = new go.TextBlock();
        textblock.text = "Hello!";
        textblock.margin = 5;
        node.add(textblock);
        diagram.add(node);
    </script>
</body>

 复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var diagram = new go.Diagram("myDiagramDiv");
        var $ = go.GraphObject.make;
        diagram.add(
            $(go.Node, go.Panel.Auto,
                $(go.Shape, {
                    figure: "RoundedRectangle",
                    fill: "lightblue"
                }),
                $(go.TextBlock, {  
                    text: "Hello!",
                    margin: 5
                })
            ));
    </script>
</body>

复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var diagram = new go.Diagram("myDiagramDiv");
        var $ = go.GraphObject.make;
        diagram.add(
            $(go.Node, "Auto",
                $(go.Shape, "RoundedRectangle", {
                    fill: "lightblue"
                }),
                $(go.TextBlock, "Hello!", {
                    margin: 5
                })
            ));
    </script>
</body>

复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var diagram = new go.Diagram("myDiagramDiv");
        var $ = go.GraphObject.make;
        diagram.add(
            $(go.Node, "Auto",
                $(go.Shape, "RoundedRectangle", {
                    fill: $(go.Brush, "Linear", {
                        0.0: "Violet",
                        1.0: "Lavender"
                    })
                }),
                $(go.TextBlock, "Hello!", {
                    margin: 5
                })
            ));
    </script>
</body>

复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>hwl</title>
</head <body>
<div id="myDiagramDiv" style="border:solid 1px blue; 400px; height:150px"></div>
<script src="https://unpkg.com/gojs/release/go-debug.js"></script>
<script>
    var diagram = new go.Diagram("myDiagramDiv");
    diagram.model = new go.GraphLinksModel(
        [{
            key: "wo"
        }, {
            key: "ai"
        }, {
            key: "ni"
        }], // 数组中有3个节点数据
        [{
            from: "wo",
            to: "ai"
        }, {
            from: "ai",
            to: "ni"
        }] // 数组中有3个连接数据
    );
</script>
</body>
</html>

 复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var $ = go.GraphObject.make;
        var diagram = new go.Diagram("myDiagramDiv");
        var violetbrush = $(go.Brush, "Linear", {
            0.0: "Violet",
            1.0: "Lavender"
        });
        diagram.add(
            $(go.Node, "Auto",
                $(go.Shape, "RoundedRectangle", {
                    fill: violetbrush
                }),
                $(go.TextBlock, "Hello!", {
                    margin: 5
                })
            ));
        diagram.add(
            $(go.Node, "Auto",
                $(go.Shape, "Ellipse", {
                    fill: violetbrush
                }),
                $(go.TextBlock, "Goodbye!", {
                    margin: 5
                })
            ));
        diagram.add(
            $(go.Part, "Vertical",
                $(go.TextBlock, {
                    text: "a TextBlock"
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    stroke: "red"
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightblue"
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    font: "bold 14pt serif"
                })
            ));
        diagram.add(
            $(go.Part, "Vertical",
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightgreen",
                    margin: 2
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightgreen",
                    margin: 2,
                     100,
                    height: 33
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightgreen",
                    margin: 2,
                     60,
                    height: 33
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightgreen",
                    margin: 2,
                     50,
                    height: 22
                }),
                $(go.TextBlock, {
                    text: "a TextBlock",
                    background: "lightgreen",
                    margin: 2,
                     40,
                    height: 9
                })
            ));
        diagram.add(
            $(go.Part, "Vertical",
                $(go.TextBlock, {
                    text: "a Text Block",
                    background: "lightgreen",
                    margin: 2
                }),
                $(go.TextBlock, {
                    text: "a Text Block",
                    background: "lightgreen",
                    margin: 2,
                     50,
                    wrap: go.TextBlock.None
                }),
                $(go.TextBlock, {
                    text: "a Text Block",
                    background: "lightgreen",
                    margin: 2,
                     50,
                    wrap: go.TextBlock.WrapDesiredSize
                }),
                $(go.TextBlock, {
                    text: "a Text Block",
                    background: "lightgreen",
                    margin: 2,
                     50,
                    wrap: go.TextBlock.WrapFit
                })
            ));
    </script>
</body>

  复制如下内容保存到空白的.html文件中,用浏览器打开即可查看效果

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>GoJS实例</title>
    <style>
        #myDiagramDiv {
             400px;
            height: 500px;
            background-color: #DAE4E4;
        }
    </style>
    <script src="https://unpkg.com/gojs/release/go-debug.js"></script>
</head>

<body>
    <div id="myDiagramDiv"></div>

    <script>
        var $ = go.GraphObject.make;
        var diagram = new go.Diagram("myDiagramDiv");

        diagram.add(
            $(go.Part, "Horizontal",
                $(go.Shape, "Rectangle", {
                     40,
                    height: 60,
                    margin: 4,
                    fill: null
                }),
                $(go.Shape, "RoundedRectangle", {
                     40,
                    height: 60,
                    margin: 4,
                    fill: "red"
                }),
                $(go.Shape, "Ellipse", {
                     40,
                    height: 60,
                    margin: 4,
                    fill: "green"
                }),
                $(go.Shape, "Triangle", {
                     40,
                    height: 60,
                    margin: 4,
                    fill: "blue"
                }),
                $(go.Shape, "Diamond", {
                     40,
                    height: 60,
                    margin: 4,
                    fill: "brown"
                })
            ));
        diagram.div.style.background = "lightgreen";
        var W_geometry = go.Geometry.parse("M 0,0 L 10,50 20,10 30,50 40,0", false);
        diagram.add(
            $(go.Part, "Horizontal",
                $(go.Shape, {
                    geometry: W_geometry,
                    strokeWidth: 2
                }),
                $(go.Shape, {
                    geometry: W_geometry,
                    stroke: "blue",
                    strokeWidth: 10,
                    strokeJoin: "miter",
                    strokeCap: "butt"
                }),
                $(go.Shape, {
                    geometry: W_geometry,
                    stroke: "green",
                    strokeWidth: 10,
                    strokeJoin: "bevel",
                    strokeCap: "round"
                }),
                $(go.Shape, {
                    geometry: W_geometry,
                    stroke: "red",
                    strokeWidth: 10,
                    strokeJoin: "round",
                    strokeCap: "square"
                }),
                $(go.Shape, {
                    geometry: W_geometry,
                    stroke: "purple",
                    strokeWidth: 2,
                    strokeDashArray: [6, 6, 2, 2]
                })
            ));
        //一个模板map的例子
        var simpletemplate =
            $(go.Node, "Auto",
                $(go.Shape, "Ellipse",
                    new go.Binding("fill", "color")),
                $(go.TextBlock,
                    new go.Binding("text", "key")), {
                    toolTip: $(go.Adornment, "Auto",
                        $(go.Shape, {
                            fill: "#FFFFCC"
                        }),
                        $(go.TextBlock, {
                                margin: 4
                            },
                            new go.Binding("text", "desc"))
                    )
                }
            );

        // the "detailed" template shows all of the information in a Table Panel
        var detailtemplate =
            $(go.Node, "Auto",
                $(go.Shape, "RoundedRectangle",
                    new go.Binding("fill", "color")),
                $(go.Panel, "Table", {
                        defaultAlignment: go.Spot.Left
                    },
                    $(go.TextBlock, {
                            row: 0,
                            column: 0,
                            columnSpan: 2,
                            font: "bold 12pt sans-serif"
                        },
                        new go.Binding("text", "key")),
                    $(go.TextBlock, {
                        row: 1,
                        column: 0
                    }, "Description:"),
                    $(go.TextBlock, {
                        row: 1,
                        column: 1
                    }, new go.Binding("text", "desc")),
                    $(go.TextBlock, {
                        row: 2,
                        column: 0
                    }, "Color:"),
                    $(go.TextBlock, {
                        row: 2,
                        column: 1
                    }, new go.Binding("text", "color"))
                )
            );

        // 创建了TemplateMap。里面含有三个键值对
        var templmap = new go.Map("string", go.Node);
        templmap.add("simple", simpletemplate);
        templmap.add("detailed", detailtemplate);
        templmap.add("", diagram.nodeTemplate);

        //重点。当创建map后,将map和画布进行绑定
        diagram.nodeTemplateMap = templmap;

        diagram.model.nodeDataArray = [{
                key: "Alpha",
                desc: "first letter",
                color: "green"
            }, // uses default category: ""
            {
                key: "Beta",
                desc: "second letter",
                color: "lightblue",
                category: "simple"
            },
            {
                key: "Gamma",
                desc: "third letter",
                color: "pink",
                category: "detailed"
            },
            {
                key: "Delta",
                desc: "fourth letter",
                color: "cyan",
                category: "detailed"
            }
        ];
    </script>
</body>
原文地址:https://www.cnblogs.com/Alwaysbecoding/p/11848273.html