What you are seeing is the spectrum around a center frequency, which you have selected somewhere.
The way it works is: you select a center frequency and then your device (i.e. RTL2832 dongle) will sample many points.
You will now take these samples and convert them into FREQUENCY domain using FFT - Fast Fourrier Transformation.
Because you are NOT sweeping anything, you can only see the spectrum with the frequency span (bandwidth) of the device you used. The RTL2832 dongle can typically "see" around 2MHz.
So the tuner will go to a given frequency, for instance 145MHz and with a 2MHz span you will be able to visualize the spectrum from 145MHz-1MHz to 145MHz+1MHz --> 144MHz-146MHz.
But Matlab does not know what IF (Input Frequency) you have tuned, so it shows the spectrum at "0MHz" with negative and positive frequency values around the center. You need to "calculate" the right frequencies yourself.
A real classic spectrum analyzer will SWEEP the selected freqeuncy range, from start frequency to end frequency, thus displaying the correct frequency values. This is normally done sweeping the IF by means of a YIG.
On modern devices, you will sample like with the RTL2832 but instead of having 2MHz bandwidth you will have much more - the new Siglent devices have a bandwidth of 40MHz. This 40MHz window is then swept, if necessary, through the larger frequency range. But the software of the spectrum analyzer will take care of displaying the correct frequency values, since it is in control of everything.
Regards,
Vitor