Check out Visualizing Data by Ben Fry http://benfry.com/, one of the authors of the Processing language. The book is based on his doctoral dissertation, and has a technical (as opposed to artistic or design) focus, but is easy to understand. The Processing language/environment is Java based.