Skip to main content

创建关系图

创建图表以通过图表和图形传达信息

关于创建关系图

可以使用以下四种不同的语法在 Markdown 中创建关系图:mermaid、geoJSON、topoJSON 和 ASCII STL。 关系图可在以下项中呈现:GitHub Issues、GitHub Discussions、拉取请求、Wiki 和 Markdown 文件。

创建 Mermaid 关系图

Mermaid 是一款受 Markdown 启发的工具,可将文本呈现为关系图。 例如,Mermaid 可以呈现流程图、序列图、饼图等。 有关详细信息,请参阅 Mermaid 文档

若要创建 Mermaid 关系图,请使用 mermaid 语言标识符在围栏代码块中添加 Mermaid 语法。 有关创建代码块的详细信息,请参阅“创建和突显代码块”。

例如,可以通过指定值和箭头来创建流程图。

Here is a simple flow chart:

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

呈现的 Mermaid 流程图的屏幕截图,其中包含四个标有 A、B、C 和 D 的淡紫色框。箭头从 A 延伸到 B,从 B 延伸 D,从 A 延伸 C,从 C 延伸到 D。

注意: 如果在 GitHub 上使用 Mermaid 语法时运行第三方 Mermaid 插件,你可能会发现出错。

检查 Mermaid 的版本

若要确保 GitHub 支持 Mermaid 语法,请检查当前正在使用的 Mermaid 版本。

```mermaid
  info
```

创建 GeoJSON 和 TopoJSON 地图

可使用 GeoJSON 或 TopoJSON 语法创建交互式地图。 若要创建地图,请使用 geojsontopojson 语法标识符在围栏代码块中添加 GeoJSON 或 TopoJSON。 有关详细信息,请参阅“创建和突显代码块”。

Note

GeoJSON 和 TopoJSON 地图在 GHE.com 的子域(例如 octocorp.ghe.com)上不可用。

使用 GeoJSON

例如,可以通过指定坐标来创建地图。

```geojson
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": 1,
      "properties": {
        "ID": 0
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
              [-90,35],
              [-90,30],
              [-85,30],
              [-85,35],
              [-90,35]
          ]
        ]
      }
    }
  ]
}
```

呈现的美国东南部的 GeoJSON 地图的屏幕截图,其中阿拉巴马州和密西西比州部分地区用紫色矩形覆盖。

使用 TopoJSON

例如,可以通过指定坐标和形状来创建 TopoJSON 地图。

```topojson
{
  "type": "Topology",
  "transform": {
    "scale": [0.0005000500050005, 0.00010001000100010001],
    "translate": [100, 0]
  },
  "objects": {
    "example": {
      "type": "GeometryCollection",
      "geometries": [
        {
          "type": "Point",
          "properties": {"prop0": "value0"},
          "coordinates": [4000, 5000]
        },
        {
          "type": "LineString",
          "properties": {"prop0": "value0", "prop1": 0},
          "arcs": [0]
        },
        {
          "type": "Polygon",
          "properties": {"prop0": "value0",
            "prop1": {"this": "that"}
          },
          "arcs": [[1]]
        }
      ]
    }
  },
  "arcs": [[[4000, 0], [1999, 9999], [2000, -9999], [2000, 9999]],[[0, 0], [0, 9999], [2000, 0], [0, -9999], [-2000, 0]]]
}
```

呈现的印度尼西亚、新加坡和马来西亚部分地区的 TopoJSON 地图的屏幕截图,其中包含蓝点、紫色矩形覆盖和蓝色曲折线。

有关使用 .geojson.topojson 文件的详细信息,请参阅“使用非代码文件”。

创建 STL 3D 模型

可以直接在 Markdown 中使用 ASCII STL 语法来创建交互式 3D 模型。 若要显示模型,请使用 stl 语法标识符在围栏代码块中添加 ASCII STL 语法。 有关详细信息,请参阅“创建和突显代码块”。

例如,可创建简单的 3D 模型:

```stl
solid cube_corner
  facet normal 0.0 -1.0 0.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 1.0 0.0 0.0
      vertex 0.0 0.0 1.0
    endloop
  endfacet
  facet normal 0.0 0.0 -1.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 0.0 1.0 0.0
      vertex 1.0 0.0 0.0
    endloop
  endfacet
  facet normal -1.0 0.0 0.0
    outer loop
      vertex 0.0 0.0 0.0
      vertex 0.0 0.0 1.0
      vertex 0.0 1.0 0.0
    endloop
  endfacet
  facet normal 0.577 0.577 0.577
    outer loop
      vertex 1.0 0.0 0.0
      vertex 0.0 1.0 0.0
      vertex 0.0 0.0 1.0
    endloop
  endfacet
endsolid
```

白底上黑色线条网格上方的蓝色棱锥体 3D 模型的屏幕截图。 用于选择“线框”、“曲面角度”或“实心”的选项显示在底部。

有关使用 .stl 文件的详细信息,请参阅“使用非代码文件”。