Network-Analysis-Made-Simple
Network-Analysis-Made-Simple copied to clipboard
Trouble Showing ArcPlot and CircosPlot in 2-networkx-basics-student
Greetings! I am just having what appears to be a minor issue. I do want to say thank you for the ODSC West training you conducted, I really appreciated the instruction and materials. I wanted to use my own Anaconda instance for the notebooks, pretty sure that has nothing do with the problem, but wanted to mention just in case. I did use the prescribed yml file from the repo to create the env in Anaconda3.
Was running the "networkx-basics" notebook 2 (student version) and ran into the same error, screenshots below, when trying to display the ArcPlot and the CircosPlot.


Thank you in advance for your help! Let me know if you need further information.
-Jason
Hi @jasonifier thanks for pinging in! Let's see, I think it's an API version issue. Can you see if installing NetworkX 1.10 (not 2.2) solves the issue? If so, then I'll know I have to update the API to work with NetworkX 2.2.
@ericmjl Thank you for the response! I had to install version 1.11 of networkx, as conda could not find 1.10, figured that's splitting hairs though. This did fix the ArcPlot and CircosPlot graphs, so thank you! But it did have an effect on the nx.draw() function. That error is in the screenshot below if you are interested. Otherwise, no worries. I just wanted to show my colleagues the visualizations, and can easily create 2 environments for display purposes.

@jasonifier cool - I think that has to do with matplotlib versions being incompatible with an earlier version of networkx. If you downgrade matplotlib to 2.x, that might do the trick, but long-run, I have to restart development of nxviz (which I have neglected for a while because of work). To keep expectations tempered, I'd be open to a PR fixing the G.node issue, or if you'd like to attempt it I'm happy to guide you through. Otherwise it might be a month or so (essentially during holidays, which is when, I learned, OSS maintainers usually get most work on OSS projects done).
@ericmjl No worries. I'm down with a pull request to try and fix it. I should be able to take a crack at it this weekend. Do you have a page or something in the nxviz docs, which I should follow, for potential contributors? I am familiar enough to get started with little help (not a guru to be honest, but have been through the process for small merge requests at my company). If I have problems, I'll certainly reach out with questions.
@jasonifier thanks a ton, really appreciate the help :smile:.
There is a CONTRIBUTING.rst file in there , but in case you need the general idea:
- Make a fork of the
nxviz. - Make a "feature branch" on that fork.
- Make the changes on the feature branch.
- Send in a PR from feature branch to my
nxvizmaster branch.
For compute environment, I don't like dictating what you should use, but I do know the conda package manager the best - in the nxviz repo, you will find an environment.yml file, which you can use to create the env:
$ conda env create -f environment.yml
That should be it! Let me know if you have other questions, by posting on the nxviz issue tracker.
If this still persists please feel free to open up the issue :)