python-igraph
python-igraph copied to clipboard
Create more Galery examples
The python-igraph documentation includes a gallery of example applications:
https://python.igraph.org/en/stable/tutorials/index.html
This issue is to implement more examples. If you have ideas for examples, post them here. For inspiration, you may also look at the IGraph/M documentation, which includes many visual examples.
- [ ] Clique percolation.
- [ ] Personalized PageRank on a grid (see http://szhorvat.net/mathematica/IGDocumentation/#pagerank)
- [ ] Motif analysis with nice plots. Compare 3-motif counts in some directed network with a degree-constrained null model.
- [ ] ... your idea here! ...
This is a good first issue if you are looking to start contributing to igraph with technical writing.
CC @RU-Lokamruth
I have prepared a documentation file explaining Partition Similarity Measure, including code snippets in Python. Could you confirm whether the appropriate path for adding examples is doc/examples_sphinx-gallery/? I want to ensure the file is placed correctly within the documentation structure.
https://github.com/SKG24/igraph_learning/blob/main/Community%20Detection%20and%20Partition%20Similarity%20using%20igraph.py
Please see what I wrote about this on the forum: https://igraph.discourse.group/t/interest-in-gsoc-community-detection-guide-project/1951/9?u=szhorvat
New additions to the Gallery should follow the pattern you see in the existing ones: Demonstrate how to do a single task using igraph. Keep it short and to the point. Make the example visual and attractive.
Gallery items are not meant to explain a theoretical concept. Their purpose is to help people get started with igraph using bite-sized examples, to showcase igraph's capabilities.
Hi! I'm planning to work on the Personalized PageRank on a grid topic. Does that sound good?
Hey! should I, continue adding the Partition Similarity Measure example with a concise and focused explanation, ensuring it aligns with the gallery’s principles—brief, to the point, and accompanied by an attractive visualization.
Can I proceed with raising a PR under the gallery section?
@SKG24 It seems you are detecting communities with multiple methods then comparing the results using various metrics. I feel that while this will be useful for the future tutorial, it does not make an ideal example for the gallery. It does not show something that a newcomer might find difficult to figure out (other than visualizing a community structure, which already has an example), but it does bring many questions which can't easily be answered in the confines of such an example. Why do different methods give different results? Which is the right one? Why does even a single method sometimes give different results across multiple runs?
Ideally, a gallery example should try to either demonstrate a task that's popular but it's not obvious for a newcomer how to do it, or it should make a single point. If you are interested in using partition similarity measures, you could for example demonstrate how a stochastic method might give wildly different answers on a network without any significant community structure, while it gives consistent answers on one that has obvious communities. For example, use a stochastic method, generate multiple clusterings, then plot a histogram of pairwise similarities between these.
Hi! Where should our PR be targeted? On master or on the develop branch?
Please use master for now. The GSoC project might move to develop, but we stick to master for now.
Something important I forgot to say is that you can build the documentation, including the gallery, using scripts/mkdoc.sh -c. If the build succeeds, open doc/html/index.html to check that they look good.
Just mentioning that I'm now developing a dedicated package to plot graphs/networkx called iplotx: https://github.com/fabilab/iplotx and includes more examples, mostly coming from networkx at the moment, some self-made:
https://iplotx.readthedocs.io/en/latest/gallery/index.html
Although connected, the topics of how to analyse and to visualise a network are not quite the same, therefore it would be perhaps useful to have the same examples on both package galleries with different explanations, one focusing on the analytics, the other on the styling.