我有附加的代码,以伟大的一个pydot图,我希望其中一个标签有下标。我尝试了以下方法,但它只是将其呈现为Y<SUB>2</SUB>。如何使用下标获取?
import pydot
graph = pydot.Dot(graph_type='digraph', rankdir="LR")
# add node
graph.add_node(pydot.Node('X', label='X'))
graph.add_node(pydot.Node('Y', label='Y<SUB>2</SUB>'))
# add edege
graph.add_edge(pydot.Edge('X', 'Y'))
graph.write_png("mygraph.png")发布于 2019-05-14 20:31:51
如果在您的环境中设置了LaTex,则可以使用图形的LaTex标记来完成此操作。您必须通过LaTex传递结果图,因此需要使用dot2tex工具https://dot2tex.readthedocs.io/en/latest/。
graph.add_node(pydot.Node('Y', label='$Y_{2}$'))发布于 2020-05-07 22:18:08
尽管对一些人来说这可能是显而易见的,但这个问题的实际答案可能是:
import dot2tex
import pydot
graph = pydot.Dot(graph_type='digraph', rankdir="LR")
# add node
graph.add_node(pydot.Node('X', label='X'))
#graph.add_node(pydot.Node('Y', label='Y<SUB>2</SUB>'))
graph.add_node(pydot.Node('Y', label='$$Y_{2}$$'))
# add edege
graph.add_edge(pydot.Edge('X', 'Y'))
#graph.write_png("mygraph.png")
# Export to tex
texcode = dot2tex.dot2tex(graph.to_string(),format='tikz',texmode='math',crop=True)
with open("test.tex", "w") as f:
f.write(texcode) 然后用以下命令生成pdf
pdflatex ./test.texhttps://stackoverflow.com/questions/56130416
复制相似问题