Python Graphs:节点标签的 Latex 数学渲染
Posted
技术标签:
【中文标题】Python Graphs:节点标签的 Latex 数学渲染【英文标题】:Python Graphs: Latex Math rendering of node labels 【发布时间】:2016-06-20 05:14:48 【问题描述】:我正在使用以下代码创建pygraphviz
图表。但是有没有可能让它渲染乳胶数学方程(见图 1)?如果没有,是否有替代 python 库可以绘制类似的图形但支持乳胶渲染?
import networkx as nx
from networkx.drawing.nx_agraph import to_agraph
G=nx.DiGraph()
G.add_node(1,color='blue',style='filled',
fillcolor='white',shape='square', label="$3x+2$")
G.add_node(2)
G.add_node(3)
G.add_edge(1, 2)
G.add_edge(1, 3)
G.add_edge(3, 4)
A = to_agraph(G)
A.layout('dot')
A.draw('test1.png')
结果如下图
图一
【问题讨论】:
我在PyGraphviz documentation 中没有看到任何对 LaTeX 的引用。您认为这应该可行吗? 我明白了!我编辑了问题以使请求不限于 pyGraphviz。换句话说,是否有一个 python 库可以用 Latex 渲染绘制类似的图形?我知道 matplotlib 渲染乳胶,但这样的图表并不好。 你最后管理了吗? 【参考方案1】:也许https://dot2tex.readthedocs.org/en/latest/ 对你有用? 试试
import dot2tex
texcode = dot2tex.dot2tex(A.to_string(), format='tikz', crop=True)
【讨论】:
不起作用,$3x+2$ 仍然是 $3x+2$,但感谢您的尝试! dot2tex的重点是渲染tex表达式。这里有一些例子mirror.unl.edu/ctan/graphics/dot2tex/dot2tex.pdf。如果你花一点点努力,你可能会成功。以上是关于Python Graphs:节点标签的 Latex 数学渲染的主要内容,如果未能解决你的问题,请参考以下文章
图及其衍生算法(Graphs and graph algorithms)
Python Pyx 绘图:在绘图的轴标签中使用 \mathbb
Inductive Representation Learning on Large Graphs 论文/GraphSAGE学习笔记
Inductive Representation Learning on Large Graphs 论文/GraphSAGE学习笔记