Метка рисования Networkx частично за пределами коробки - PullRequest
0 голосов
/ 21 мая 2018

Просто нарисуйте очень простую сеть из 4 узлов,

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
node1 = "116.251.211.248"
node2 = "5.79.100.165"
node3 = "http.anturis.com"
node4 = "s411993.ip-37-187-141.eu"
G.add_node(node1)
G.add_node(node2)
G.add_node(node3)
G.add_node(node4)
G.add_weighted_edges_from([(node1, node2, 0.742345), (node1, node3, 0.916954), (node1, node4, 0.662011), (node1, node4, 0.818537), (node2, node3, 0.947824), (node2, node4, 0.800774), (node3, node4, 0.928537)])
pos=nx.shell_layout(G)
nx.draw(G, pos, with_labels=True)
plt.show()

Моя проблема заключается в том, что метки ребер частично выходят за пределы поля

enter image description here

Я новичок в рисовании с networkx.Как добавить поля слева и справа, чтобы можно было отображать полные метки?

1 Ответ

0 голосов
/ 22 мая 2018

К сожалению, похоже, что нет автоматической процедуры для исправления полей.Вы можете отрегулировать поля вручную, позвонив plt.xlim(xmin,xmax).Поскольку вы знаете положения узлов (pos), вы можете добавить, скажем, дополнительные 25% с каждой стороны:

#Your code here....
nx.draw(G, pos, with_labels=True)
x_values, y_values = zip(*pos.values())
x_max = max(x_values)
x_min = min(x_values)
x_margin = (x_max - x_min) * 0.25
plt.xlim(x_min - x_margin, x_max + x_margin)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...