我想在graphtool的帮助下生成并显示随机图,但显示部分无法正常工作,我不知道为什么。
我已经设置了Phyton和Docker,在这两个工具的帮助下,我还下载并安装了Graph-Tool,Pipy,Numpy,Cairo和Matplotlib。
我可以生成一个随机图,但是当我想使用graph_draw函数“绘制”它时,我只会得到返回值,但是没有其他反应。没有文件生成,并且使用默认的cmd显示(不给函数提供输出值)时,不会发生任何事情。我没有收到错误消息。
这是我在cmd中运行的内容:
docker run --interactive --tty tiagopeixoto / graph-tool ipython
import graph_tool.all as gt
import numpy as np
import cairo
import matplotlib
def sample_k(max):
accept = False
while not accept:
k = np.random.randint(1,max+1)
accept = np.random.random() < 1.0/k
return k
g = gt.random_graph(1000, lambda: sample_k(40), model="probabilistic-configuration", edge_probs=lambda i, k: 1.0 / (1 + abs(i - k)), directed=False, n_iter=100)
pos = gt.sfdp_layout(g)
gt.graph_draw(g, pos, output_size=(1000, 1000), vertex_color=[1,1,1,0], vertex_fill_color=[1,1,0,0], vertex_size=1, edge_pen_width=1.2, vcmap=matplotlib.cm.gist_heat_r, output="test.png")
可能不需要在这里导入开罗,但我尝试了很多事情并将其留在那儿。
我尝试给它一个更精确的输出位置,例如 输出=“ C:\ Users \ user \ Desktop \ test.png”,但没关系。
图形生成良好:
无向图对象,在0x7f4e1d46ca90处具有1000个顶点和4728条边