Я следую этому ответу Python: График с использованием NetworkX и mplleaflet , но не может изменить его для отображения меток узлов. Это код, который я использую.
import matplotlib.pyplot as plt
import mplleaflet
import networkx as nx
small_graph = nx.Graph()
small_graph.add_node('1')
small_graph.add_node('2')
small_graph.add_node('3')
small_graph.add_node('4')
small_graph.add_edge('1', '2')
small_graph.add_edge('3', '2')
small_graph.add_edge('3', '4')
pos = {'1': [55, 10], '2': [56, 11], '3': [57, 12], '4': [58, 12]}
labels = {'1': 'Node 1', '2': 'Node 2', '3': 'Node 3', '4': 'Node 4'}
fig, ax = plt.subplots()
nx.draw_networkx_nodes(small_graph,pos=pos,node_size=40,node_color='red',edge_color='k',alpha=.5)
nx.draw_networkx_edges(small_graph,pos=pos,edge_color='gray', alpha=.4)
nx.draw_networkx_labels(small_graph,pos=pos, labels=labels, font_size=10)
plt.show()
# mplleaflet.display(fig=fig)
Если я использую стандарт plt.show()
, я вижу, что этикетки отображаются правильно
. Однако, если я раскомментирую последнюю строку, чтобы отобразить этот график на карте, я получу только
Это определенно не зависит от размера шрифта, потому что настройка этого значения не имеет никакого значения. Можно ли вообще этого добиться? Если нет, то какие альтернативы вы рекомендуете?