= """i have never sailed the amazon i have never reached brazil but the don and the magdalena they can go there when they will ah yes weekly from southampton great steams white and gold go rolling down to rio roll down roll down to rio and i would like to roll to rio some day before i am old to roll i would like to roll to rio some day before i am old i have never seen a jaguar nor yet an armadillo dillowing in his armour and i suppose i never will ah unless i go to rio these wonders to behold go rolling down to rio roll really down to rio oh i would like to roll to rio some day before i am old to roll i would love to roll to rio some day before i am old"""
lyrics = lyrics.split(' ') lyrics
Word Adjacency Graph of Rolling Down to Rio
Art
Music
Word Adjacency
Here are the lyrics of silent noon with punctuation and capitalization ignored:
import networkx as nx
import matplotlib.pyplot as plt
def create_graph(strings):
# Initialize a directed graph
= nx.DiGraph()
G
# Add each string as a node
for s in strings:
G.add_node(s)
# Create edges based on adjacency (e.g., consecutive strings in the list)
for i in range(len(strings) - 1):
+ 1])
G.add_edge(strings[i], strings[i
return G
def plot_graph(G):
# Generate positions for nodes
= nx.nx_agraph.graphviz_layout(G)
pos
= [len(node) * 100 for node in G.nodes()] # Adjust 100 to change the scaling factor
node_sizes
# Draw the graph
=(8, 30))
plt.figure(figsize=True, node_color="lightblue", font_size=10, node_size=node_sizes, font_weight="bold", arrows=True)
nx.draw(G, pos, with_labels"Word Adjacency in Rolling Down to Rio", fontsize=14)
plt.title(
plt.show()
# Example usage
= create_graph(lyrics)
graph plot_graph(graph)