Given a list of bands and artists belonging to a musical movement, create a graph of memberships and collaborations using networkx and render interactively with ipysigma.
Data is is stored as text files with several rows, each of them with the following format: band;members;collaborations. members and collaborations are lists of musicians or bands separated by commas ,. collaborations includes collaborations between bands and musicians from other projects, and also between bands in songs or split albums. Most of info has been extracted from Wikipedia, Discogs, Rate Your Music, Spotify and other sources.
See a web application with examples here.
To install the library, run:
pip install bandgraphLoad the data
from bandgraph import load_data
filename = "jazz.txt"
dataframe = load_data(filename)Generate the graph
from bandgraph import create_graph
graph = create_graph(dataframe)Render the graph with ipysigma
from ipysigma import Sigma
args = {"node_size":0,
"node_color":"type",
"edge_color":"type",
"label_density":10,
"node_border_color_from":"node",
"start_layout":2,
"hide_info_panel":True,
"background_color":"rgb(255, 255, 255)"}
sig = Sigma(graph, **args)See a web application with examples here.
Example graph, showing the Jazz scene
- Improve graph visualization, using
ipysigma - Create web application
- Fix visualization of webpage in mobile phone
- Create library and publish in pypi
- Improve colors and visualization
- Write web scrapping tool to parse data from Rate Your Music and/or Wikipedia.
If you want to include new data or have comments or suggestions, feel free to create a pull request or contact me at [email protected].
MIT