Adding edges create duplicate nodes instead of using the already added nodes
I added the nodes by passing a dictionary of objects to add_nodes_from
function.
Then I specified the edges by passing a list to add_edges_from
function.
When, edges are added they create duplicate nodes instead of using the ones already added before.
import networkx as nx
import matplotlib.pyplot as plt
from Employee import Employee
G = nx.DiGraph()
employees = {
"John": Employee("John"),
"Mathews": Employee("Mathews"),
"Joseph": Employee("Joseph"),
"Lana": Employee("Lana"),
"Debrah": Employee("Debrah"),
"Greg": Employee("Greg"),
"Bob": Employee("Bob"),
"Mary": Employee("Mary"),
}
connections = [
(employees.get("John"), employees.get("Debrah")),
(employees.get("John"), employees.get("Mary")),
(employees.get("Mary"), employees.get("Greg")),
(employees.get("Mary"), employees.get("Lana")),
(employees.get("Mary"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Joseph")),
(employees.get("Mathews"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Mary")),
(employees.get("Lana"), employees.get("Debrah")),
(employees.get("Greg"), employees.get("Bob")),
]
G.add_nodes_from(employees)
G.add_edges_from(connections)
print(G.nodes)
Output
['John', 'Mathews', 'Joseph', 'Lana', 'Debrah', 'Greg', 'Bob', 'Mary',
John, Debrah, Mary, Greg, Lana, Mathews, Joseph, Bob]
python networkx
add a comment |
I added the nodes by passing a dictionary of objects to add_nodes_from
function.
Then I specified the edges by passing a list to add_edges_from
function.
When, edges are added they create duplicate nodes instead of using the ones already added before.
import networkx as nx
import matplotlib.pyplot as plt
from Employee import Employee
G = nx.DiGraph()
employees = {
"John": Employee("John"),
"Mathews": Employee("Mathews"),
"Joseph": Employee("Joseph"),
"Lana": Employee("Lana"),
"Debrah": Employee("Debrah"),
"Greg": Employee("Greg"),
"Bob": Employee("Bob"),
"Mary": Employee("Mary"),
}
connections = [
(employees.get("John"), employees.get("Debrah")),
(employees.get("John"), employees.get("Mary")),
(employees.get("Mary"), employees.get("Greg")),
(employees.get("Mary"), employees.get("Lana")),
(employees.get("Mary"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Joseph")),
(employees.get("Mathews"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Mary")),
(employees.get("Lana"), employees.get("Debrah")),
(employees.get("Greg"), employees.get("Bob")),
]
G.add_nodes_from(employees)
G.add_edges_from(connections)
print(G.nodes)
Output
['John', 'Mathews', 'Joseph', 'Lana', 'Debrah', 'Greg', 'Bob', 'Mary',
John, Debrah, Mary, Greg, Lana, Mathews, Joseph, Bob]
python networkx
add a comment |
I added the nodes by passing a dictionary of objects to add_nodes_from
function.
Then I specified the edges by passing a list to add_edges_from
function.
When, edges are added they create duplicate nodes instead of using the ones already added before.
import networkx as nx
import matplotlib.pyplot as plt
from Employee import Employee
G = nx.DiGraph()
employees = {
"John": Employee("John"),
"Mathews": Employee("Mathews"),
"Joseph": Employee("Joseph"),
"Lana": Employee("Lana"),
"Debrah": Employee("Debrah"),
"Greg": Employee("Greg"),
"Bob": Employee("Bob"),
"Mary": Employee("Mary"),
}
connections = [
(employees.get("John"), employees.get("Debrah")),
(employees.get("John"), employees.get("Mary")),
(employees.get("Mary"), employees.get("Greg")),
(employees.get("Mary"), employees.get("Lana")),
(employees.get("Mary"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Joseph")),
(employees.get("Mathews"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Mary")),
(employees.get("Lana"), employees.get("Debrah")),
(employees.get("Greg"), employees.get("Bob")),
]
G.add_nodes_from(employees)
G.add_edges_from(connections)
print(G.nodes)
Output
['John', 'Mathews', 'Joseph', 'Lana', 'Debrah', 'Greg', 'Bob', 'Mary',
John, Debrah, Mary, Greg, Lana, Mathews, Joseph, Bob]
python networkx
I added the nodes by passing a dictionary of objects to add_nodes_from
function.
Then I specified the edges by passing a list to add_edges_from
function.
When, edges are added they create duplicate nodes instead of using the ones already added before.
import networkx as nx
import matplotlib.pyplot as plt
from Employee import Employee
G = nx.DiGraph()
employees = {
"John": Employee("John"),
"Mathews": Employee("Mathews"),
"Joseph": Employee("Joseph"),
"Lana": Employee("Lana"),
"Debrah": Employee("Debrah"),
"Greg": Employee("Greg"),
"Bob": Employee("Bob"),
"Mary": Employee("Mary"),
}
connections = [
(employees.get("John"), employees.get("Debrah")),
(employees.get("John"), employees.get("Mary")),
(employees.get("Mary"), employees.get("Greg")),
(employees.get("Mary"), employees.get("Lana")),
(employees.get("Mary"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Joseph")),
(employees.get("Mathews"), employees.get("Debrah")),
(employees.get("Mathews"), employees.get("Mary")),
(employees.get("Lana"), employees.get("Debrah")),
(employees.get("Greg"), employees.get("Bob")),
]
G.add_nodes_from(employees)
G.add_edges_from(connections)
print(G.nodes)
Output
['John', 'Mathews', 'Joseph', 'Lana', 'Debrah', 'Greg', 'Bob', 'Mary',
John, Debrah, Mary, Greg, Lana, Mathews, Joseph, Bob]
python networkx
python networkx
asked Jan 2 at 4:51
enzio902enzio902
7617
7617
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
G.add_nodes_from(employees)
This is adding nodes using the keys of the dict (strings)
G.add_edges_from(connections)
This is adding edges using the values of the dict (employees)
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54001353%2fadding-edges-create-duplicate-nodes-instead-of-using-the-already-added-nodes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
G.add_nodes_from(employees)
This is adding nodes using the keys of the dict (strings)
G.add_edges_from(connections)
This is adding edges using the values of the dict (employees)
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
add a comment |
G.add_nodes_from(employees)
This is adding nodes using the keys of the dict (strings)
G.add_edges_from(connections)
This is adding edges using the values of the dict (employees)
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
add a comment |
G.add_nodes_from(employees)
This is adding nodes using the keys of the dict (strings)
G.add_edges_from(connections)
This is adding edges using the values of the dict (employees)
G.add_nodes_from(employees)
This is adding nodes using the keys of the dict (strings)
G.add_edges_from(connections)
This is adding edges using the values of the dict (employees)
answered Jan 2 at 4:54
wimwim
165k51315447
165k51315447
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
add a comment |
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
Thank you. That was a silly mistake on my part. Using employees.values() gets me a list of values from the dictionary.
– enzio902
Jan 2 at 5:08
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54001353%2fadding-edges-create-duplicate-nodes-instead-of-using-the-already-added-nodes%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown