文章目录

  • Mermaid 简介
  • Mermaid 由三部分组成
  • Mermaid 的使用方法
  • 复杂图表结构的技巧
  • 饼图简介
  • 饼图语法
  • 饼图示例
  • 雷达图简介
  • 雷达图语法
  • 雷达图语法细节
    • 标题
    • 曲线
    • 选项
  • 雷达图示例
  • 时间线简介
  • 时间线语法
  • 时间线示例
  • 树形图简介
  • 树形图语法
  • 树形图示例
  • 数据包图简介
  • 数据包图语法1:
  • 数据包图语法2
  • 数据包图语法细节
  • 数据包图示例
  • 象限图简介
  • 象限图语法
  • 象限图示例1
  • 象限图示例2
  • GIT图
  • XY图简介
  • XY图语法
  • XY图使用说明
  • XY图示例1
  • XY图示例2
  • 方框图简介
  • 方框图示例1
  • 方框图示例2

Mermaid 简介

Mermaid 允许你使用文本和代码创建图表和可视化。

它是一个基于 JavaScript 的图表绘制工具,可渲染 Markdown 启发的文本定义以动态创建和修改图表。

教程链接

Mermaid 由三部分组成

  • 部署
  • 语法
  • 配置

Mermaid 的使用方法

  • 使用 Mermaid 实时编辑器
  • 使用 Mermaid 图表编辑器
  • 使用 Mermaid 插件和集成
  • 调用 Mermaid JavaScript API
  • 添加 Mermaid 作为依赖

复杂图表结构的技巧

管理 Mermaid 图中的复杂性涉及规划和采用最佳实践。

  • 模块化设计

将复杂的图表分解为更小、更易于管理的组件。这种方法不仅使图表更易于理解,而且简化了创建和维护过程。

  • 一致的风格

使用类在相似元素之间保持一致的样式。这不仅节省了时间,还确保了外观的凝聚力和专业性。

  • 注释和文档

在 Mermaid 语法中使用带有 %% 的注释来记录图表各个部分的用途。这种做法对于保持清晰度非常宝贵,尤其是在团队工作或在一段时间后返回图表时。

通过这些故障排除提示和最佳实践,你可以有效管理和解决 Mermaid 框图中的常见问题。

饼图简介

饼图(或圆形图)是一种圆形统计图形,将其划分为多个切片以说明数字比例。

在饼图中,每个切片的弧长(及其中心角和面积)与其表示的数量成正比。

饼图渲染方式有多种变化。

教程链接

饼图语法

在 Mermaid 中绘制饼图非常简单。

  • 以 pie 关键字开始绘制图表

    • showData 在图例文本之后渲染实际数据值。这是可选的
  • 后面跟着 title 关键字及其字符串值,为饼图提供标题。这是可选的

  • 接下来是数据集。饼图切片将按与标签相同的顺序顺时针排序。

    • label 表示饼图中 " " 引号内的部分。
    • 后跟 : 冒号作为分隔符
    • 后面跟着 positive numeric value(支持最多两位小数)

饼图示例

---
config:pie:textPosition: 0.5themeVariables:pieOuterStrokeWidth: "5px"
---
pie showDatatitle Key elements in Product X"Calcium" : 42.96"Potassium" : 50.05"Magnesium" : 10.01"Iron" :  5

雷达图简介

雷达图是一种以圆形格式绘制低维数据的简单方法。

它也被称为雷达图、蜘蛛图、星图、蛛网图、极坐标图或 Kiviat 图。

这种图表类型对于需要以清晰简洁的方式以圆形格式表示数据的开发者、数据科学家和工程师特别有用。

它通常用于以图形方式总结和比较多个实体在多个维度上的表现。

教程链接

雷达图语法

radar-beta
axis A, B, C, D, E
curve c1{1,2,3,4,5}
curve c2{5,4,3,2,1}
... More Fields ...

雷达图语法细节

标题

title:标题是一个可选字段,允许在雷达图顶部渲染标题。

radar-betatitle Title of the Radar Diagram...

axis:axis 关键字用于定义雷达图的轴。

每个轴由一个 ID 和一个可选标签表示。

可以在一条线上定义多个轴。

radar-betaaxis id1["Label1"]axis id2["Label2"], id3["Label3"]...

曲线

curve:curve 关键字用于定义雷达图中曲线的数据点。

每条曲线由一个 ID、一个可选标签和一个值列表表示。

值可以通过数字列表或键值对列表定义。如果使用键值对,则键表示轴 ID,值表示数据点。否则,假定数据点按定义的轴的顺序排列。

可以在一条线上定义多条曲线。

radar-betaaxis axis1, axis2, axis3curve id1["Label1"]{1, 2, 3}curve id2["Label2"]{4, 5, 6}, id3{7, 8, 9}curve id4{ axis3: 30, axis1: 20, axis2: 10 }...

选项

  • showLegend:showLegend 关键字用于显示或隐藏雷达图中的图例。默认显示图例。
  • max:雷达图的最大值。这用于缩放雷达图。如果未提供,则从数据点计算出最大值。
  • min:雷达图的最小值。这用于缩放雷达图。如果未提供,则最小值为 0。
  • graticule:经纬线关键字用于定义要在雷达图中渲染的经纬线类型。经纬线可以是 circle 或 polygon。如果未提供,则默认格线为 circle。
  • ticks:ticks 关键字用于定义经纬线上的刻度数。它是绘制的同心圆或多边形的数量,用于指示雷达图的比例。如果未提供,则默认刻度数为 5。

雷达图示例

---
title: "Grades"
---
radar-betaaxis m["Math"], s["Science"], e["English"]axis h["History"], g["Geography"], a["Art"]curve a["Alice"]{85, 90, 80, 70, 75, 90}curve b["Bob"]{70, 75, 85, 80, 90, 85}max 100min 0

时间线简介

“时间线是一种图表,用于说明事件、日期或时间段的年表。它通常以图形方式渲染以指示时间的流逝,并且通常按时间顺序组织。

基本时间线按时间顺序渲染事件列表,通常使用日期作为标记。

教程链接

时间线语法

创建时间线图的语法很简单。你始终以 timeline 关键字开头,让 mermaid 知道你想要创建时间线图。

之后,可以向时间线添加标题。这是通过添加一行带有关键字 title 后跟标题文本来完成的。

然后添加时间线数据,其中始终以时间段开头,后跟冒号,然后是事件的文本。你可以选择添加第二个冒号,然后添加事件的文本。因此,你可以在每个时间段内拥有一个或多个事件。

默认情况下,如果时间段和事件的文本太长,则会换行。这样做是为了避免文本绘制在图表之外。你还可以使用 <br> 强制换行。

时间线示例

timelinetitle Timeline of Industrial Revolutionsection 17th-20th centuryIndustry 1.0 : Machinery, Water power, Steam <br>powerIndustry 2.0 : Electricity, Internal combustion engine, Mass productionIndustry 3.0 : Electronics, Computers, Automationsection 21st centuryIndustry 4.0 : Internet, Robotics, Internet of ThingsIndustry 5.0 : Artificial intelligence, Big data, 3D printing

树形图简介

树状图将层次结构数据显示为一组嵌套的矩形。树的每个分支都用一个矩形表示,然后用代表子分支的小矩形平铺。
树状图是可视化分层数据和显示类别与子类别之间比例的有效方法。每个矩形的大小与其所代表的值成比例,便于比较层级结构中的不同部分。

树状图尤其适用于:

  • 可视化分层数据结构。
  • 比较类别之间的比例。
  • 在有限空间内显示大量层级数据。
  • 识别层级结构数据中的模式和异常值。

教程链接

树形图语法

树状图中的节点使用以下语法定义:

  • 部分/父节点:使用引号 “Section Name” 定义
  • 带有值的叶节点:使用引号后跟冒号和值 “Leaf Name”: value 定义
  • 层级结构:使用缩进(空格或制表符)创建
  • 样式:节点可以使用 :::class 语法设置样式

树形图示例

---
config:treemap:showValues: false
---treemap-beta
"Section 1""Leaf 1.1": 12"Section 1.2":::class1"Leaf 1.2.1": 12
"Section 2""Leaf 2.1": 20:::class1"Leaf 2.2": 25"Leaf 2.3": 12classDef class1 fill:red,color:blue,stroke:#FFD600;

数据包图简介

数据包图是用于说明网络数据包的结构和内容的可视化表示。网络数据包是通过网络传输的数据的基本单位。

教程链接

数据包图语法1:

packet
start: "Block name" %% Single-bit block
start-end: "Block name" %% Multi-bit blocks
... More Fields ...

数据包图语法2

packet
+1: "Block name" %% Single-bit block
+8: "Block name" %% 8-bit block
9-15: "Manually set start and end, it's fine to mix and match"
... More Fields ...

数据包图语法细节

  • 范围:标题后面的每一行代表数据包中的不同字段。范围(例如 0-15)指示数据包中的位位置。

  • 字段说明:该字段所代表内容的简短描述,用引号引起来。

部分mermaid语法支持:

  • packet-beta
  • packet【部分组件可能不支持】
  • mermaid开头与前述文字增加换行,避免部分浏览器无法解析

数据包图示例


---
config:packet:bitWidth: 32
------
title: "TCP Packet"
---packet-beta0-15: "Source Port"
16-31: "Destination Port"
32-63: "Sequence Number"
64-95: "Acknowledgment Number"
96-99: "Data Offset"
100-105: "Reserved"
106: "URG"
107: "ACK"
108: "PSH"
109: "RST"
110: "SYN"
111: "FIN"
112-127: "Window"
128-143: "Checksum"
144-159: "Urgent Pointer"
160-191: "(Options and Padding)"
192-255: "Data (variable length)"

象限图简介

象限图是分为四个象限的数据的直观表示。它用于在二维网格上绘制数据点,其中一个变量表示在 x 轴上,另一个变量表示在 y 轴上。

象限是通过根据一组特定于所分析数据的标准将图表分为四个相等部分来确定的。

象限图通常用于识别数据的模式和趋势,并根据图表中数据点的位置确定操作的优先级。它们通常用于商业、营销和风险管理等字段。

教程链接

象限图语法

  • x 轴决定 x 轴上显示的文本。在 x 轴上有左右两个部分,你可以同时通过两个部分,也可以仅通过左侧。该语句应以 x-axis 开头,然后是 left axis text,后跟分隔符 -->,然后是 right axis text。

  • y 轴确定在 y 轴上显示的文本。在 y 轴上有顶部和底部两部分,你可以通过两者,也可以仅通过底部。该语句应以 y-axis 开头,然后是 bottom axis text,后跟分隔符 -->,然后是 top axis text。

  • quadrant-[1,2,3,4] 确定象限内显示哪些文本。

  • 点用于在象限图内绘制一个圆。语法为 : [x, y],此处 x 和 y 值在 0-1.

象限图示例1

---
config:quadrantChart:chartWidth: 400chartHeight: 400themeVariables:quadrant1TextFill: "ff0000"
---
quadrantChartx-axis Urgent --> Not Urgenty-axis Not Important --> "Important ❤"quadrant-1 Planquadrant-2 Doquadrant-3 Delegatequadrant-4 Delete

象限图示例2

quadrantCharttitle Reach and engagement of campaignsx-axis Low Reach --> High Reachy-axis Low Engagement --> High Engagementquadrant-1 We should expandquadrant-2 Need to promotequadrant-3 Re-evaluatequadrant-4 May be improvedCampaign A: [0.9, 0.0] radius: 12Campaign B:::class1: [0.8, 0.1] color: #ff3300, radius: 10Campaign C: [0.7, 0.2] radius: 25, color: #00ff33, stroke-color: #10f0f0Campaign D: [0.6, 0.3] radius: 15, stroke-color: #00ff0f, stroke-width: 5px ,color: #ff33f0Campaign E:::class2: [0.5, 0.4]Campaign F:::class3: [0.4, 0.5] color: #0000ffclassDef class1 color: #109060classDef class2 color: #908342, radius : 10, stroke-color: #310085, stroke-width: 10pxclassDef class3 color: #f00fff, radius : 10

GIT图

Git 图表是各个分支上 git 提交和 git 操作(命令)的图形表示。

此类图表对于开发者和 DevOps 团队分享他们的 Git 分支策略特别有帮助。例如,它可以更轻松地可视化 git flow 的工作原理。

教程链接

XY图简介

在 mermaid-js 的上下文中,XY 图是一个综合图表模块,包含利用 x 轴和 y 轴进行数据表示的各种类型的图表。

目前,它包括两种基本图表类型:柱状图和折线图。

这些图表旨在直观地显示和分析涉及两个数值变量的数据。

值得注意的是,虽然 mermaid-js 当前的实现包含这两种图表类型,但该框架被设计为动态且适应性强的。

因此,它具有将来扩展和包含其他图表类型的能力。

这意味着用户可以在 XY 图模块中期待一套不断发展的图表选项,以满足随着时间的推移引入新图表类型的各种数据可视化需求。

教程链接

XY图语法

  • x 轴主要用作分类值,但在需要时也可以用作数值范围值。
  • y 轴用于表示数值范围值,它不能有分类值。

XY图使用说明

部分mermaid语法支持:

  • xychart-beta
  • xychart【部分组件可能不支持】
  • mermaid开头与前述文字增加换行,避免部分浏览器无法解析

XY图示例1

xychart-betatitle "Sales Revenue"x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]y-axis "Revenue (in $)" 4000 --> 11000bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]

XY图示例2

---
config:xyChart:width: 900height: 600showDataLabel: truethemeVariables:xyChart:titleColor: "#ff0000"
---
xychart-betatitle "Sales Revenue"x-axis [jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec]y-axis "Revenue (in $)" 4000 --> 11000bar [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]line [5000, 6000, 7500, 8200, 9500, 10500, 11000, 10200, 9200, 8500, 7000, 6000]

方框图简介

框图是一种直观、有效的方式来直观地表示复杂的系统、流程或架构。它们由块和连接器组成,其中块代表基本组件或功能,连接器显示这些组件之间的关系或流程。这种图表方法在工程、软件开发和流程管理等各个字段都至关重要。

框图的主要目的是提供系统的高级视图,以便轻松理解和分析,而无需深入研究每个组件的复杂细节。这使得它们对于简化复杂系统以及解释系统内组件的整体结构和交互特别有用。

许多人使用 Mermaid 流程图来达到此目的。这样做的副作用是自动布局有时会将形状移动到图表制作者不想要的位置。框图使用不同的方法。在此图中,我们让作者完全控制形状的放置位置。

框图在各个行业和学科中都有广泛的应用。一些关键用例包括:

  • 软件架构:在软件开发中,框图可用于说明软件应用的体系结构。这包括显示不同模块或服务如何交互、数据流和高级组件交互。

  • 网络图:框图非常适合表示 IT 和电信中的网络架构。它们可以描述不同的网络设备和服务如何互连,包括路由、交换机、防火墙以及网络上的数据流。

  • 工艺流程图:在商业和制造中,可以使用框图来创建流程图。这些流程图代表业务或制造流程的各个阶段,有助于可视化步骤顺序、决策点和控制流程。

  • 电气系统:工程师使用框图来表示电气系统和电路。它们可以说明电气系统的高级结构、不同电气组件之间的相互作用以及电流的流动。

  • 教育目的:框图也广泛用于教育材料中,以简化的方式解释复杂的概念和系统。它们有助于分解和可视化科学理论、工程原理和技术系统。

教程链接

方框图示例1

block-betacolumns 3a:3block:group1:2columns 2h i j kendgblock:group2:3%% columns auto (default)l m n o p q rend

方框图示例2

block-betacolumns 3Start(("Start")) space:2down<[" "]>(down) space:2Decision{{"Make Decision"}} right<["Yes"]>(right) Process1["Process A"]downAgain<["No"]>(down) space r3<["Done"]>(down)Process2["Process B"] r2<["Done"]>(right) End(("End"))style Start fill:#969;style End fill:#696;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920584.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920584.shtml
英文地址,请注明出处:http://en.pswp.cn/news/920584.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不止效率工具:AI 在文化创作中如何重构 “灵感逻辑”?

一、引言1.1 AI 创作的崛起在当今时代&#xff0c;AI 技术在文化创作领域的迅猛发展已成为不可忽视的现象。从文字创作领域中&#xff0c;AI 能够快速生成小说、诗歌&#xff0c;一些新闻媒体也开始运用 AI 撰写新闻稿件&#xff1b;到视觉艺术方面&#xff0c;AI 绘画软件能依…

软考-系统架构设计师 专家系统(ES)详细讲解

个人博客&#xff1a;blogs.wurp.top 一、ES的核心概念与价值 1. 什么是专家系统&#xff08;ES&#xff09;&#xff1f; 专家系统是一种模拟人类专家解决特定领域问题的智能计算机程序系统。它运用特定领域内大量专家水平的知识和经验&#xff0c;进行推理和判断&#xff…

Vue3+TS+Element-Plus+el-tree创建树节点

1、一级树应用效果&#xff1a;代码&#xff1a;MaterialCategory.vue<script setup lang"ts" name"MaterialCategory"> ...... // 创建树&#xff08;一级树&#xff09; const createTree (dataList: IMaterialCategory[]) > {// 将原始数据转…

C++基础(④链表反转(链表 + 迭代 / 递归))

链表反转&#xff08;链表 迭代 / 递归&#xff09; 题目描述&#xff1a;给你单链表的头节点 head&#xff0c;请你反转链表&#xff0c;并返回反转后的链表头节点。 示例&#xff1a;输入链表 1→2→3→4→5 → 输出 5→4→3→2→1。 思路提示&#xff1a;迭代法&#xff1a…

面向企业级产品开发的自动化脚本实战

引言&#xff1a; 在产品开发团队中&#xff0c;设计师、产品经理和工程师之间的协作常常伴随着大量重复性工作&#xff1a;手动整理设计稿链接、更新产品需求文档、同步项目状态...这些工作不仅耗时&#xff0c;还容易出错。本文将带你编写一个Python脚本&#xff0c;自动化这…

科技赋能生态,智慧守护农林,汇岭生态开启农林产业现代化新篇章

在我国&#xff0c;农林业作为国民经济的基础产业&#xff0c;不仅关乎国家粮食安全与生态平衡&#xff0c;更是乡村振兴战略实施的核心领域。近年来&#xff0c;国家高度重视“三农”问题&#xff0c;大力推进乡村振兴战略&#xff0c;强调要实现农业农村现代化&#xff0c;促…

贪心算法面试常见问题分类解析

一、贪心算法问题 1. 跳跃游戏系列 能否到达终点: def canJump(nums):max_reach = 0for i in range(len(nums)):if i > max_reach:return Falsemax_reach = max(max_reach, i + nums[i])return True 最少步数: def jump(nums):jumps = end = max_pos = 0for i in range(l…

【3D入门-指标篇上】3D 网格重建评估指标详解与通俗比喻

一、指标对比表格指标名称核心定义计算关键步骤通俗比喻典型应用场景Chamfer距离双向平均几何距离采样点→计算最近邻距离→取平均沙滩沙粒的平均距离差评估服装轮廓、褶皱的细微差异法向量一致性表面法向量方向匹配度计算法向量点积→取绝对值→平均刺猬刺的朝向一致程度评估布…

补题报告08

题目背景某天&#xff0c;奇异博士在纽约圣所研究维山帝之书时&#xff0c;发现了连接不同多元宇宙的传送门网络......题目描述经研究&#xff0c;奇异博士发现每个传送门都有固定的 “时间代价”—— 正数表示双向通行&#xff08;往返时间代价相同均为正值&#xff09;&#…

马斯克杀入AI编程!xAI新模型Grok Code Fast 1发布,深度评测:速度、价格与API上手指南

AI 编程的赛道&#xff0c;又迎来一位重量级玩家——马斯克的 xAI。 就在最近&#xff0c;xAI 悄然发布了一款专为编码而生的新模型&#xff1a;Grok Code Fast 1。这款模型最初以代号“Sonic”在内部流传&#xff0c;如今正式亮相&#xff0c;便凭借其 256K 超长上下文、惊人的…

GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SPM

1 背景由于业务数据的变化或者数据库版本的升级&#xff0c;可能导致SQL的执行计划发生变化&#xff0c;这种变化不一定是正收益&#xff0c;这时需 要一个防止计划劣化的机制。该机制需适用于版本升级时固化计划防止计划跳变等场景。2 SPM 的功能SPM(SQL Plan Manager)功能&a…

数字IC前端设计——前仿篇(VCS,DVE,Verdi)

文章目录引言一、软件介绍1. VCS2. DVE3. Verdi二、VCS的使用1. VCS的编译流程2. 常用的编译选项1&#xff09;基础编译选项2&#xff09;调试相关选项3&#xff09;性能优化选项4&#xff09;文件和路径选项3. 常用仿真选项1&#xff09;基础仿真选项2&#xff09;运行控制选项…

20250826--inter

一、非对称加密的应用 非对称加密应用-CSDN博客 2、怎么避免跨站脚本攻击&#xff0c;包括还有其他的一些web安全&#xff0c;怎么做的 网页安全XSS攻击和CSRF攻击_csrf共计-CSDN博客 3、前端异常监控&#xff0c;性能监控&#xff0c;埋点&#xff0c;怎么做的 &#xff1f…

MongoDB Shell

MongoDB官方提供的单独命令行工具 MongoDB Shell Download | MongoDB 下载MongoDB Shell windows系统打开&#xff0c;直接在解压后的目录里面找到bin目录 然后双击打开mongosh.exe这个文件 看到这个命令行就表示Mongo Shell已经启动成功了 test代表 当前正在使用的数据库的…

Docker03-知识点整理

Docker03-知识点整理 文章目录Docker03-知识点整理1-参考网址2-知识整理2-思考题1-Docker image和Docker Native image有什么区别1. Docker Image&#xff08;Docker 镜像&#xff09;定义特点构建和使用示例2. Docker Native Image&#xff08;通常指 GraalVM Native Image 结…

华为 eNSP 从入门到精通:企业级网络仿真全攻略

一、eNSP 简介华为 eNSP&#xff08;Enterprise Network Simulation Platform &#xff09;是面向企业网络的虚拟化仿真平台&#xff0c;其核心架构基于分布式虚拟化引擎和真实设备镜像&#xff0c;具备以下技术亮点&#xff1a;高度仿真&#xff1a;可模拟华为 AR 路由器、x7 …

docker compose设置命令别名的方法

docker compose名字比较长&#xff0c;输入比较费事&#xff0c;可以为它设置别名来简化输入。1、Linux编辑~/.bash_aliasesalias dcdocker-compse编辑~/.bashrc&#xff0c;确认其包含以下内容&#xff1a;if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi重新加载 ~/.bas…

【RAGFlow代码详解-10】文本处理和查询处理

概述 文本处理和查询处理系统将自然语言查询转换为与 RAGFlow 的文档存储后端配合使用的优化搜索表达式。该系统支持中英文文本处理&#xff0c;具有专门的标记化、术语加权和查询增强技术。核心组件 FulltextQueryer 类 FulltextQueryer 类是查询处理和文本分析的主要接口。它…

利用机器学习优化Backtrader策略原理与实践

1. Backtrader框架概述 1.1 Backtrader简介 Backtrader是一个功能强大且灵活的Python库&#xff0c;专为量化交易策略的开发、测试和执行而设计。它提供了丰富的功能&#xff0c;包括数据获取、策略开发、回测、优化和绘图等。Backtrader的核心优势在于其模块化设计和高度可扩展…

CPTS-Pressed复现(XML-RPC)

该box主要是了解wordpress-XML-RPC 的使用 端口扫描只有80端口开启 可以使用wpscan进行扫描发现bak文件得到凭证&#xff0c;尝试登陆&#xff08;这里是将原密码的2021修改为2022尝试登陆&#xff0c;该主机发布时间为2022年&#xff09;发现有2FA&#xff0c;但是能够滥用 xm…