2017-06-24 6 views
0

ich diese beiden Bilder nebeneinander dargestellt werden soll:Plotten NetworkX und nxvis Diagramm nebeneinander

import networkx as nx 
import matplotlib.pyplot as plt 
import nxviz as nv 

test_G = nx.tutte_graph() 
nx.draw(test_G) 
plt.show() 

m = nv.MatrixPlot(test_G) 
m.draw() 
plt.show() 

ich versucht mit:

fig = plt.figure(figsize=(2,1)) 
sub1 = fig.add_subplot(211) 
... 

aber dies erzeugt einen neuen Satz von Achsen ist Es gibt eine Standardmethode, um Bilder nebeneinander darzustellen, plt.figure Ansatz scheint nur zu arbeiten, wenn ich das Diagramm erstellen möchte (z. B. Plot-Tupel).

Antwort

1

nxvis ist schlecht entworfen. Es erzeugt seine eigene hardcodierte 111 Subplot in einer frischen Figur. Eine Option besteht darin, zuerst das nxvis-Plot zu erstellen und dann seine Position entsprechend einer Gitterspezifikation zu ändern.

(Wieder habe ich nicht getestet, weil ich dieses nxviz Paket nicht installieren kann)

import networkx as nx 
import matplotlib.pyplot as plt 
import nxviz as nv 
import matplotlib.gridspec 

test_G = nx.tutte_graph() 
m = nv.MatrixPlot(test_G) 
m.draw() 


gs = matplotlib.gridspec.GridSpec(2,1) 
plt.gca().set_position(gs[1].get_position(plt.gcf())) 
plt.gca().set_subplotspec(gs[1]) 

plt.subplot(gs[0]) 
nx.draw(test_G) 

plt.show() 
+0

funktioniert nicht ganz, da ein leeres leeres Grundstück ist zwischen – dimebucker91

+0

ok, ich kann es nicht testen, da Ich weiß nicht, was Nxvis ist. Können Sie auf eine Dokumentation davon verlinken? – ImportanceOfBeingErnest

+0

'Pip installieren nxviz', https://github.com/ericmjl/nxviz – dimebucker91

Verwandte Themen