If all you need to plot the FFT spectrum (ie plot amplitude vs frequency), then just get an array with the discrete FFT bin frequencies and plot it against the amplitudes.The frequencies only exist at the discrete locations given by
$$
f = n\frac{f_s}{N} - \frac{f_s}{2} \hspace{2mm} \text{where n } \hspace{0.5mm} = 0, 1, 2,...N
$$
and the amplitudes A are given by
$$
A = \text{Magnitude(Data[n])} \hspace{2mm} \text{where n } \hspace{0.5mm} = 0, 1, 2,...N
$$
If you have a 8192 long Audio signal for example, you would do something similar to what I have done in the small dirty pseudo code / C# code sample I have written below.
N = 8192;
Sample_Rate = 44100;
float[] myAudio = new Float[N];
myAudio = getAudio();
Complex[] myFFT_Audio = FFT(myAudio); //Returns N complex values
//Get Array of frequency Values
float[] frequencies = new float[N]
for( i = 0 ; i < N; i++)
{ frequencies[i] = i * (Sample_Rate / N) - (Sample_Rate / 2); }
//Get Amplitudes
float[] Amplitudes = new float[N]
for( i = 0; i < N; i++)
{ Amplitudes[i] = myFFT_Audio[i].Magnitude(); }
//Plot Frequencies vs Amplitudes - will plot for frequencies -fs/2 to fs/2
PLOT(frequencies , Amplitudes);
If you want to only plot the values from $0$ to $f_s/2$ instead of from $-f_s/2$ to $f_s/2$ you can discard the first half of the values and just plot the second half.
You also need to make sure you know what sort of data FFT samples your FFT algorithm is returning as algorithms can either return FFT samples corresponding to either frequencies ranging from $-f_s / 2$ to $f_s/2$ or from $0$ to $f_s$.The code sample above assumes the former is true but that isn't always the case.
Matlab, for example, usually gives FFT samples corresponding to frequencies ranging from $0$ to $f_s$ so your frequencies in this case would just be
$$
f = n\frac{f_s}{N}
$$
you can still get a plot from $-f_s/2$ to $f_s/2$ fairly easily though because the Fourier transform is periodic with period equal to $f_s$.