Since I wrote these for my own use, I haven't taken the time to make them user-friendly. I've written them in a Linux environment, but they will run on other platforms with minimal (and sometimes no) changes. I am releasing them to the public domain, which means that you can download these scripts and do whatever you want with them.
Versions of dependencies are what I've tested the scripts with. Other versions will probably work, but I make no guarantees. All scripts are compressed with Bzip2.
A more statistically rigorous approach than DaveTheMoonMan's AEP calculator. This script uses a nonlinear solver to fit the user's top-50 artists to an exponentially decaying curve. Higher curvature coefficients imply less diversity in the profile.
This script compiles a list of artists and play counts for the user's entire listening history.
Uses artist similarlity data and landmark MDS (a variation of multidimensional scaling) to map artists to 3D coordinates. This is the least user-friendly script here, it takes hours to run, and it doesn't handle errors very well (if you have problems with an artist's data, just remove the artist from the list and re-run). But once you have 3D coordinates, you can do a lot of cool stuff with them. See below.
Uses the coordinates calculated by map_artists.py to generate a chart of the user's artists.
Uses the coordinates and users' playcounts to generate a heat map for a group of users.
My own implementation of Lee Byron's wave graph. It doesn't draw artist labels, yet.