Years ago, when I started FlowingData, the purpose of the blog was to catalog and think out loud about visualization, in its many varieties. In the beginning I was talking to myself for the most part, but people started to ask me how the stuff I posted was made. The more I blogged, the more people asked, so instead of replying to individual emails, I wrote tutorials that everyone (including me) could learn from. I found that — especially with visualization — step-by-step tutorials that provide immediate results encourage people to learn R more readily and makes it a lot easier pick up.
My main hope is that the tutorials provide a good starting point for people to visualize their own data in whatever way they like. So I have tutorials on specific visualization types, such as calendar heat maps or area charts, but I've also written generalized tutorials on creating custom charts and working with color. For the former, I try to wrap up all the code in a function so that it can be used right away. With the latter, I try to relate back to the more specific visualization tutorials so that you can see how the generalizations apply. In the end, whatever route you choose to learn visualization, it comes down to practice. Reading books on design concepts is good to start with, but you don't get any better at visualization until you make stuff and apply what's in the book. That's where all the fun's at.