The frequencies you can analyze with any tool depend on the sample size. A sample size of, say, 8000 can only be analyzed for frequencies up to half that number, i.e. 4000. This is known as the Nyquist Limit. If these samples have been collected over an 8-second period, a data rate of 1000 samples/second, the maximum detectable frequency will be 500 Hz.
Pydatascope keeps track of the samples received in a buffer. You can adjust the size of this buffer by editing the value for buffer_size in the configuration file pydatascope.cfg, though increasing the buffer size will slow the performance. (Pydatascope appears to choke at a buffer size of around 140K; reason not determined.)
These affect pydatascope's frequency analysis in several ways.
Audio input is normally 44,100 16-bit samples per second. Pydatascope by default halves the sampling rate to 22050 Hz. (This can be changed in Menu > File > Sources.) Even at this rate, pydatascope will buffer less than one second of data, and the maximum detectable frequency will be 11025 Hz.
The maximum frequency detectable will be half the sampling rate. For a source supplying 100 samples/sec., the maximum detectable frequency is 50 Hz.
The sample size can be selected in the range 1-20 seconds with a slider. A larger value a) more precison, but b) slower decay of transient frequencies.
The horizontal scale shows frequency in Hertz. The vertical scale shows the energy at each frequency, in arbitrary units.
The frequencies displayed can be restricted by the "Horiz. scale (Hz)" slider. Although it can be set as high as 8000 Hz., pydatascope will only display frequencies commensurate with the sample rate.
The three most prominent frequencies in the displayed region are identified by green values, with the exception that a high-pass filter can be used to ignore values below a certain floor.