1
我試圖繪製與Python中的igraph的曲線圖,根據以下代碼:邊緣疊加
import numpy as np
import igraph as ig
def make_blue(brightness):
brightness = round(255 * brightness)
return [255 - brightness, 255 - brightness, 255]
N = 6
adj_matr = np.random.random((N, N))
weights = sum(adj_matr.tolist(), [])
g = ig.Graph.Weighted_Adjacency(adj_matr.tolist(), mode=ig.ADJ_DIRECTED, attr="weight", loops=True)
g.vs["color"] = "rgb(224,224,224)"
g.es["arrow_size"] = 0.7
for i in range(0, pow(N, 2)):
rgb_color = make_blue(weights[i])
color_string = "rgb(" + str(rgb_color[0]) + "," + str(rgb_color[1]) + "," + str(rgb_color[2]) + ")"
g.es[i]["color"] = color_string
g.es[1]["color"] = "red"
ig.plot(g, "My_Graph.svg", bbox=(700, 700), margin = 100, vertex_label=map(str, np.arange(N)))
的結果如下所示:
我想繪製藍色的紅色箭頭,因爲它是部分隱藏的。 我曾嘗試用類似fig = Plot(); fig.add(g)
的東西來將紅色箭頭疊加到其他人上,但是我不知道如何將整個繪圖保存到svg文件(功能fig.save()
似乎只能保存爲png格式)。
你知道如何解決這個問題嗎?在此先感謝您的幫助!
非常感謝Tamás,您的幫助總是非常感激。其實我嘗試了類似於你所說的,即畫圖兩次(我在igraph的網頁上跟着教程),但之後我有問題以svg格式保存。然而,似乎你的建議,即通過使用target =「test.svg」,問題應該得到解決。再次感謝! – user2983638