2016-03-06 67 views
0

我正在使用以下代碼創建pygraphviz圖形。但有可能讓它渲染乳膠數學方程(參見圖1)?如果沒有,是否有一個替代python庫繪製類似的圖,但支持乳膠渲染?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') 

這將導致如下圖

Figure 1

圖1

+0

我沒有看到[PyGraphviz文件]中LaTeX的任何引用(https://pygraphviz.github.io/documentation/development/)。是否有理由認爲這應該起作用? – Chris

+0

我明白了!我編輯了這個問題以使請求不被限制在pyGraphviz中。換句話說,是否有一個可以用Latex渲染繪製類似圖形的Python庫?我知道matplotlib呈現乳膠,但對於這樣的圖表來說並不好。 – Curious

回答

1

也許https://dot2tex.readthedocs.org/en/latest/會爲你工作? 嘗試

import dot2tex 
texcode = dot2tex.dot2tex(A.to_string(), format='tikz', crop=True) 
+0

不起作用,$ 3x + 2 $仍然是$ 3x + 2 $,但感謝您的嘗試! – Curious

+1

dot2tex的要點是呈現tex表達式。這裏有一些例子http://mirror.unl.edu/ctan/graphics/dot2tex/dot2tex.pdf。如果你花費一點努力,你也許可以使它工作。 – Aric