TreeForm
更多信息和选项
- 使用笔记本前端,TreeForm 在 StandardForm 和 TraditionalForm 中显示为图形树.
- TreeForm 用和 TreePlot 相同的选项.
- VertexLabeling->Automatic 并不在每个节点显示表达式的分段,但仍然以工具提示条给出子树表达式.
- VertexLabeling->False 不给出表达式分段或工具提示条.
- 当用作输入时,TreeForm[expr] 被诠释为与 expr 一样. »
- 当计算输入 TreeForm[expr],TreeForm 不出现在输出. »
所有选项的列表
范例
打开所有单元 关闭所有单元基本范例 (3)
范围 (9)
TreeForm[E^n I π]TreeForm[(1/3) Sqrt[10]E^.25^x]TreeForm[{1, {2, {3}}}]TreeForm[Subscript[x, 1] + Subscript[x, 2]]有特殊上标和 OverBar 的格式化表达式:
TreeForm[x^† + Overscript[y, _]][image]//TreeForm一个 Series 表达式:
ser = Series[Sin[x], {x, 0, 5}]TreeForm[ser]包含 Hold 的一个表达式:
TreeForm[Hold[1 + 2 + 3]]TreeForm[Nest[{#, {#, {#}}}&, x, 2], 4]选项 (14)
AspectRatio (2)
DirectedEdges (1)
EdgeRenderingFunction (2)
LayerSizeFunction (1)
PlotRangePadding (1)
在图形周围用不同的 PlotRangePadding:
Table[Framed[TreeForm[D[x Cos[x] Sin[x], x], PlotRangePadding -> p], FrameMargins -> 0], {p, {0, Scaled[0.2]}}]PlotStyle (3)
Table[TreeForm[Cos[Exp[x]], PlotStyle -> ps], {ps, {Red, PointSize[Medium], Dashed, Directive[Red, PointSize[Medium], Dashed]}}]PlotStyle 可以和有较高优先级的 VertexRenderingFunction 组合:
TreeForm[Cos[Exp[x]], PlotStyle -> Directive[PointSize[Large], Red], VertexRenderingFunction -> Function[{p, l}, {Green, Point[p]}]]PlotStyle 可以和有较高优先级的 EdgeRenderingFunction 组合:
TreeForm[Cos[Exp[x]], PlotStyle -> Directive[Dashed, Red], EdgeRenderingFunction -> Function[{p, vl, el}, {Green, Line[p]}]]VertexLabeling (1)
VertexRenderingFunction (2)
应用 (1)
属性和关系 (6)
FullForm 给出线性表达式,它 和 TreeForm 相似:
FullForm[1 / (a + b) * x ^ 2]TreeForm[1 / (a + b) * x ^ 2]TreeForm 的 OutputForm 形式给出一个表达式的文本显示:
TreeForm[1 / (a + b) * x ^ 2]//OutputForm用 TreePlot 绘制树形图:
TreePlot[Table[i -> RandomInteger[{0, i - 1}], {i, 50}]]对普通的无向图用 GraphPlot 或 GraphPlot3D:
GraphPlot[Table[i -> Mod[i ^ 2, 150], {i, 0, 150}]]GraphPlot3D[Table[i -> Mod[i ^ 2, 150], {i, 0, 150}]]对于有向图的层次样式用 LayeredGraphPlot:
LayeredGraphPlot[Table[RandomInteger[{0, 50}] -> i, {i, 50}]]当用作输入时,TreeForm[expr] 的排版格式被诠释为与 expr 一样:
{TreeForm[x ^ 2]}{TreeForm[x^2]}当计算输入 TreeForm[expr],TreeForm 不出现在输入:
TreeForm[x ^ 2]%可能存在的问题 (2)
TreeForm[g[a][b]]虽然输出从高层删除 TreeForm,但并没有从子表达式中去掉:
e = TreeForm[x ^ 2]输出没有 TreeForm:
%然而,变量 e 确实有 TreeForm,这可能会影响到后续计算:
FullForm[e]由于 TreeForm 的介入,乘积没有被计算:
x * e先赋值变量,然后应用 TreeForm 于结果,可以维持计算性:
(f = x ^ 2)//TreeFormx * f巧妙范例 (2)
Nest[{#, #}&, x, 4]TreeForm[%]Nest[{#, #, #}&, x, 3]TreeForm[%]TreeForm[Nest[{#, {#}, #}&, x, 5], VertexLabeling -> Automatic]TreeForm[Nest[{{#}, #, #}&, x, 5], VertexLabeling -> Automatic]技术笔记
-
▪
- 表达式的树结构
相关的工作流程
- 找出表达式的底层树结构
历史
1988年引入 (1.0) | 在以下年份被更新:2007 (6.0)
文本
Wolfram Research (1988),TreeForm,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TreeForm.html (更新于 2007 年).
CMS
Wolfram 语言. 1988. "TreeForm." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2007. https://reference.wolfram.com/language/ref/TreeForm.html.
APA
Wolfram 语言. (1988). TreeForm. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TreeForm.html 年
BibTeX
@misc{reference.wolfram_2026_treeform, author="Wolfram Research", title="{TreeForm}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/TreeForm.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_treeform, organization={Wolfram Research}, title={TreeForm}, year={2007}, url={https://reference.wolfram.com/language/ref/TreeForm.html}, note=[Accessed: 03-November-2026]}
