Please check the manual page, but I already checked, cause it sounded interesting - and, yes it's possible with top.
top -b -n <x> -p <p>, where x is the iteration value and p is the PID(s) to monitor.
You'll have at each iteration step tops default output, you can configure the output with .toprc to suit your needs or you can go along with grep, sed or (g)awk to post-process the output.
For example...
top -b -n <x> -p <pid> >> pid-monitoring
grep <pid> pid-monitoring | awk -F" " '{ print $9 }' >> pid.monitoring.csv
In default top's configuration the 9th col is the CPU usage. Please check with your config to get the right col for (g)awk. So you get a file for further post-processing with a spreadsheed application for example, guess thats what you're about to doing - charting CPU usage, do you?
Hope that helps you...
PS: I like the idea of monitoring processes and generating charts, it'll get on my scratch list for future spare-time coding projects