does cpu time reflect BigO time complexity
There are really two questions here:


How does CPU time relate to time complexity?
Can you use a plot of CPU time to understand time complexity?


Let me answer each in turn.

Time complexity

Time complexity refers to the total time it takes for the algorithm to finish.

If by "CPU time" you just mean the time it took for this particular program to run, excluding the time for other programs or the operating system, then yes, these are the same.

If by "CPU time" you meant the time spent on computation but not time spent on I/O, then it might or might not match what is meant by time complexity.  In practice, I/O is often slower than computation -- maybe by a significant factor.  Normally, in theoretical work where we measure time complexity, we don't try to account for that distinction, as it's "only a constant factor".

The plot heuristic

Plotting the running time as a function of the size of the input can definitely be a useful heuristic to form an informed guess about what the asymptotic time complexity of the an algorithm is.  It's often a good guide.  However, be warned that it is not 100% reliable: there are some cases where it can be misleading.

I'd like to refer you to the following three questions for more on this topic:


how to understand time complexity from a plot?
How to fool the plot inspection heuristic?
How does the automatic complexity analysis of Codility work?


Bottom line

In summary: yes, basically, plotting CPU time  as a function of input size can be a helpful way to assess asymptotic time complexity, as long as you keep in mind the caveats.