graph TD A[岩心采集与预处理] --> A1[岩心采集(深度>300m)] A1 --> A2[切割与打磨(ASTM标准)] A2 --> A3[含水率控制(105℃烘干48h)] A3 --> A4[粒度分级(振动筛分仪)] A --> B[微波热解系统搭建] B --> B1[微波炉与耐高温坩埚] B1 --> B2[冷凝分离系统(焦油/热解气收集)] B2 --> B3[在线GC-MS/FTIR实时监测] B --> C[热解参数优化实验] C --> C1[单因素实验设计] C1 --> C1a[微波功率梯度(0.5-2.5kW)] C1 --> C1b[终温梯度(300-700℃)] C1 --> C1c[辐射时间梯度(10-50min)] C --> C2[L16正交实验(功率/时间/含水率/粒度)] C --> D[热解产物分析] D --> D1[TG-DTG热重分析(SDTQ600)] D --> D2[元素分析(EA3000)] D --> D3[矿物组成(GB/T212-2022)] D --> D4[焦油产率与热解气热值] D --> E[动力学模型构建] E --> E1[Coats-Redfern积分法] E1 --> E2[一级反应模型拟合] E --> E3[分布式活化能模型(DAEM)] E3 --> E4[非线性最小二乘法验证(R²>0.95)] E --> F[工艺参数优化] F --> F1[最优功率/时间/温度组合] F1 --> F2[活化能与指前因子数据库],这是draw.io里高级选项的Mermaid代码,请你优化一下代码。要求:不要删除任何文字,布局合理,条理清晰,可以使用横向布局,做到美观。
时间: 2025-03-10 13:07:51 浏览: 44
<think>嗯,用户给了我一个Mermaid代码的流程图,想要优化一下,主要是不删除任何文字,布局合理,条理清晰,横向布局,美观。首先,我需要仔细看看用户提供的原始代码结构。
原始代码是纵向的(graph TD),也就是从上到下的布局,但用户希望横向布局(LR),这样更适合在屏幕上显示,尤其是宽屏。所以第一步需要把方向改为LR。不过,用户原来的代码里有很多节点和连接,直接改方向可能会导致节点堆叠,不美观。因此需要考虑如何分组,可能使用子图(subgraph)来组织不同的模块。
接下来,用户提到不要删除任何文字,所以必须保留所有节点和连接,但可能需要调整结构,比如将某些步骤分组到不同的子图中,使流程更清晰。例如,预处理、系统搭建、参数优化、产物分析、模型构建、工艺优化这些大步骤可以作为主流程,而每个步骤下的子步骤可以放在子图里,这样层次分明。
然后,颜色和样式的定义也很重要,用户希望美观,所以需要为不同的模块设置不同的颜色,方便区分。比如预处理用蓝色,系统搭建用橙色,分析用紫色,模型用绿色,优化用红色,这样视觉上更清晰。
另外,原始代码中的连接线可能比较混乱,需要调整连接顺序,确保流程的逻辑正确,同时避免交叉线太多。可能需要将某些步骤并行排列,或者调整子图内部的方向,比如子图内部使用TB(从上到下)而主流程使用LR(从左到右),这样既保持横向主流程,又让子步骤垂直展开。
还要注意节点的文字长度,用户要求不删除文字,所以需要确保节点宽度合适,不会因为文字过长导致图形变形。可能需要调整Mermaid的配置,比如使用换行或者保持默认的自动换行。
最后,测试代码是否符合Mermaid语法,确保没有错误,比如漏掉括号或错误的方向定义。同时,检查所有的连接是否正确,特别是子图之间的连接是否指向子图外的节点,可能需要使用子图的ID来正确连接。
总结一下,优化的步骤应该是:1. 调整方向为横向;2. 使用子图分组;3. 定义样式和颜色;4. 调整连接线,确保逻辑正确;5. 验证代码正确性。这样就能满足用户的需求,保持所有内容,同时布局合理美观。</think>以下是对代码的优化方案,采用**模块化横向布局+分层展开设计**,保持所有原始文字内容的同时增强可读性:
```mermaid
%%{init: {'theme': 'base', 'themeVariables': {
'fontFamily': 'Microsoft YaHei',
'curve': 'linear',
'clusterBorder': '#888',
'clusterBkg': '#fff'
}}}%%
graph LR
%%====== 主流程模块 ======%%
subgraph 主流程
direction LR
A[岩心采集与预处理] --> B[微波热解系统搭建]
B --> C[热解参数优化实验]
C --> D[热解产物分析]
D --> E[动力学模型构建]
E --> F[工艺参数优化]
end
%%====== 预处理模块 ======%%
subgraph A [预处理]
direction TB
A1[岩心采集(深度>300m)] --> A2[切割与打磨(ASTM标准)]
A2 --> A3[含水率控制(105℃烘干48h)]
A3 --> A4[粒度分级(振动筛分仪)]
end
%%====== 系统搭建模块 ======%%
subgraph B [热解系统]
direction TB
B1[微波炉与耐高温坩埚] --> B2[冷凝分离系统(焦油/热解气收集)]
B2 --> B3[在线GC-MS/FTIR实时监测]
end
%%====== 实验设计模块 ======%%
subgraph C [参数优化]
direction TB
C1[单因素实验设计] --> C1a[微波功率梯度(0.5-2.5kW)]
C1 --> C1b[终温梯度(300-700℃)]
C1 --> C1c[辐射时间梯度(10-50min)]
C1 --> C2[L16正交实验(功率/时间/含水率/粒度)]
end
%%====== 产物分析模块 ======%%
subgraph D [产物分析]
direction TB
D1[TG-DTG热重分析(SDTQ600)]
D2[元素分析(EA3000)]
D3[矿物组成(GB/T212-2022)]
D4[焦油产率与热解气热值]
end
%%====== 模型构建模块 ======%%
subgraph E [动力学模型]
direction TB
E1[Coats-Redfern积分法] --> E2[一级反应模型拟合]
E1 --> E3[分布式活化能模型(DAEM)] --> E4[非线性最小二乘法验证(R²>0.95)]
end
%%====== 工艺优化模块 ======%%
subgraph F [参数优化]
direction TB
F1[最优功率/时间/温度组合] --> F2[活化能与指前因子数据库]
end
%%====== 样式定义 ======%%
classDef process fill:#E3F2FD,stroke:#2196F3;
classDef pre fill:#E0F7FA,stroke:#00BCD4;
classDef system fill#FFF3E0,stroke:#FF9800;
classDef analysis fill#F3E5F5,stroke:#9C27B0;
classDef model fill#E8F5E9,stroke:#4CAF50;
classDef optimize fill#FFEBEE,stroke:#F44336;
class A,B,C,D,E,F process
class A pre
class B system
class C,D analysis
class E model
class F optimize
%%====== 关键连接强化 ======%%
C2 -.-> D
D1 & D2 & D3 & D4 --> E
E4 --> F1
```
**优化说明**:
1. **结构分层**:
- 顶层主流程横向排列(LR)
- 每个模块内部纵向展开(TB)
- 通过`subgraph`实现模块折叠/展开
2. **视觉引导**:
- 模块间用不同色块区分(预处理-蓝/系统-橙/分析-紫/模型-绿/优化-红)
- 关键路径用实线箭头,辅助路径用虚线(`-.->`)
3. **信息整合**:
- 保持所有原始文字内容
- 将关联性强的节点归入同一子图
- 实验设计与产物分析采用平行结构
4. **技术增强**:
- 设置全局字体为微软雅黑
- 禁用默认曲线连接(`curve: linear`)
- 子图边框使用浅灰色(`clusterBorder`)
**draw.io使用建议**:
1. 导入后使用`排列 > 布局 > 水平布局`二次调整
2. 开启`扩展 > 自动调整大小`保证文字完整显示
3. 导出PDF时勾选`透明背景`和`嵌入字体`
如果需要进一步调整模块宽度或间距,可以在子图定义中添加`style`语句控制具体尺寸参数。
阅读全文
相关推荐















