-
Notifications
You must be signed in to change notification settings - Fork 1
/
top_Tracks_Github.py
32 lines (24 loc) · 1.2 KB
/
top_Tracks_Github.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import spotipy
from spotipy.oauth2 import SpotifyOAuth
import matplotlib.pyplot as plt
# Initialize Spotify client with your credentials
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id='Enter Client ID',
client_secret='Enter Client Secret',
redirect_uri='Enter Redirect URI',
scope='user-top-read'))
# Fetch your top tracks from Spotify
top_tracks = sp.current_user_top_tracks(limit=20, time_range='long_term')
# Extract track names
track_names = [track['name'] for track in top_tracks['items']]
# Use index position as a proxy for frequency (not exact play counts)
# Higher position indicates more frequent listening
positions = range(len(track_names))
# Create a bar chart
plt.figure(figsize=(10, 8))
plt.barh(track_names, positions, color='skyblue')
plt.xlabel('Position in Top Tracks (Lower is More Frequent)', fontweight='bold', fontsize=18)
plt.ylabel('Tracks', fontweight='bold', fontsize=18)
plt.title('My Top Tracks on Spotify', fontweight='bold', fontsize=20)
plt.tight_layout()
plt.gca().invert_yaxis() # Invert y-axis so top tracks appear at the top
plt.show()