Создание позиций для заметок для построения графика на графике - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь построить график отношений между разными авторами. У меня есть следующее author csv:

  id|source  |target  |
   1|Joe M   |Sally K | 
   1|Joe M   |Terry O | 
   1|Sally K |Terry O |
   2|Jack T  |Mike  K |

Я создал сетевой график, используя следующий код

G = nx.Graph()
G.add_nodes_from(author.source)
G.add_edges_from(author)
nx.draw(G, with_labels=False)

Я получаю это с помощью методов networkx

Result

Я хочу использовать пакет plotly и пытаюсь использовать их учебник, но не знаю, как создавать позиции:

edge_x = []
edge_y = []
for edge in G.edges():
    x0, y0 = G.nodes[edge[0]]['pos']
    x1, y1 = G.nodes[edge[1]]['pos']
    edge_x.append(x0)
    edge_x.append(x1)
    edge_x.append(None)
    edge_y.append(y0)
    edge_y.append(y1)
    edge_y.append(None)

edge_trace = go.Scatter(
    x=edge_x, y=edge_y,
    line=dict(width=0.5, color='#888'),
    hoverinfo='none',
    mode='lines')

node_x = []
node_y = []
for node in G.nodes():
    x, y = G.nodes[node]['pos']
    node_x.append(x)
    node_y.append(y)

node_trace = go.Scatter(
    x=node_x, y=node_y,
    mode='markers',
    hoverinfo='text',
    marker=dict(
        showscale=True,
        colorscale='YlGnBu',
        reversescale=True,
        color=[],
        size=10,
        colorbar=dict(
            thickness=15,
            title='Node Connections',
            xanchor='left',
            titleside='right'
        ),
        line_width=2))

Я получаю ошибка, что pos не существует, и я не уверен, как создать / продолжить.

...