[ PROMPT_NODE_26554 ]
Etetoolkit 可视化
[ SKILL_DOCUMENTATION ]
# ETE Toolkit 可视化指南
使用 ETE Toolkit 进行树状图可视化的完整指南。
## 目录
1. [渲染基础](#rendering-basics)
2. [TreeStyle 配置](#treestyle-configuration)
3. [节点样式](#node-styling)
4. [Faces (外观组件)](#faces)
5. [布局函数](#layout-functions)
6. [高级可视化](#advanced-visualization)
---
## 渲染基础
### 输出格式
ETE 支持三种主要输出格式:
python
from ete3 import Tree
tree = Tree("tree.nw")
# PNG (位图,适合演示)
tree.render("output.png", w=800, h=600, units="px", dpi=300)
# PDF (矢量图,适合出版)
tree.render("output.pdf", w=200, units="mm")
# SVG (矢量图,可编辑)
tree.render("output.svg")
### 单位与尺寸
python
# 像素
tree.render("tree.png", w=1200, h=800, units="px")
# 毫米
tree.render("tree.pdf", w=210, h=297, units="mm") # A4 尺寸
# 英寸
tree.render("tree.pdf", w=8.5, h=11, units="in") # US Letter 尺寸
# 自动尺寸 (保持纵横比)
tree.render("tree.pdf", w=200, units="mm") # 高度自动计算
### 交互式可视化
python
from ete3 import Tree
tree = Tree("tree.nw")
# 启动 GUI
# - 鼠标滚轮缩放
# - 拖拽平移
# - Ctrl+F 搜索
# - 从菜单导出
# - 编辑节点属性
tree.show()
---
## TreeStyle 配置
### 基础 TreeStyle 选项
python
from ete3 import Tree, TreeStyle
tree = Tree("tree.nw")
ts = TreeStyle()
# 显示选项
ts.show_leaf_name = True # 显示叶子节点名称
ts.show_branch_length = True # 显示分支长度
ts.show_branch_support = True # 显示支持值
ts.show_scale = True # 显示比例尺
# 分支长度缩放
ts.scale = 50 # 每个分支长度单位对应的像素数
ts.min_leaf_separation = 10 # 叶子节点间的最小间距 (像素)
# 布局方向
ts.rotation = 0 # 0=从左到右, 90=从上到下
ts.branch_vertical_margin = 10 # 分支间的垂直间距
# 树形
ts.mode = "r" # "r"=矩形 (默认), "c"=圆形
tree.render("tree.pdf", tree_style=ts)
### 圆形树
python
from ete3 import Tree, TreeStyle
tree = Tree("tree.nw")
ts = TreeStyle()
# 圆形模式
ts.mode = "c"
ts.arc_start = 0 # 起始角度 (度)
ts.arc_span = 360 # 角度跨度 (度, 360=完整圆)
# 半圆设置
ts.arc_start = -180
ts.arc_span = 180
tree.render("circular_tr"