我很难在GNU图上获得X轴编号,以免在一起。我将附加一个显示问题的png,这是生成GNU图的代码:
void plotmultifft(const vector &fftresults){
//创建一个临时数据文件
std :: ofstream datafile(“ fft_data.gnu”);
如果(!datafile){
std :: cerr <<“错误创建数据文件\ n”;
返回;
}
//将FFT结果写入数据文件
for(size_t i = 0; i <fftresults.size(); ++ i){
datafile << i <<“” << std :: real(fftresults [i])<<“” << std :: imag(fftresults [i])<<“ \ n”;
}
datafile.close();
//为GNUPLOT创建一个临时脚本文件
std :: ofstream scriptfile(“ plot_script.gnu”);
如果(!scriptfile){
std :: cerr <<“错误创建脚本文件\ n”;
返回;
}
scriptfile <<“设置术语png大小1024,768 \ n”;
scriptfile <<“设置输出’plot.png’\ n”;
scriptfile <<“设置多平台布局2,2标题’fft Spectrum’\ n”;
//第一个象限:实际部分与索引
scriptfile <<“设置标题’真实部分’\ n”;
ScriptFile <<“绘制’fft_data.gnu’使用1:2与行标题’real’\ n”;
//第二象限:虚构零件与索引
scriptfile <<“设置标题’imaginary part’\ n”;
scriptfile <<“绘制’fft_data.gnu’使用1:3与行标题’imiminary’\ n“”;
//第三象限:幅度与指数
scriptfile <<“设置标题’幅度’\ n”;
scriptfile <<“绘制’fft_data.gnu’使用1:(sqrt($ 2 ** 2 + $ 3 ** 2))title标题为“幅度” \ n”;
//第四象限:阶段与索引
scriptfile <<“设置标题’阶段’\ n”;
ScriptFile <<“使用1:(AtAN2($ 3,$ 2))的绘图’fft_data.gnu’绘制行标题’phase’\ n“”;
scriptfile <<“未设置的多人\ n”;
scriptfile.close();
//执行GNUPLOT脚本
系统(“ gnuplot -persist plot_script.gnu”);
}
这是PNG: