EDIT: I've made adjustments based on your answers, while I couldn't get it to be evenly spaced, I managed to get a better curve with more samples per cycle. Turns out I need to remove the print function from my program so that the Pi could focus more on reading and plotting.
See ((Final adjustment)) at the bottom
Question:
Thanks for reading this. I'm doing a project using Raspberry Pi and MCP3208 (ADC) and currently, I'm testing my program with NI myDAQ's function generator to supply a 10Vpp to the ADC at 50Hz. I've tried using NumPy and managed to get some readings. However, when I got to my supervisor I noticed that my frequency reading is not exactly at 50Hz. Then I tried to change the input to 25Hz to see if it works at a lower frequency. Proceeding to 10Hz, I noticed that it is true! It is more accurate at a lower frequency.
My friend tried using another ADC chip and it worked accurately (or at least more accurate than mine) so I am wondering where did I go wrong with this? Below are my results and I've placed my code underneath.