#include <iostream> #include "gnuplot_i.hpp" using namespace std; int main() { // Create the data for the plot double fm_range[] = {87.5, 108.0}; double iot_range[] = {87.5, 92.0}; double dab_range[] = {92.0, 104.0}; double safety_range[] = {104.0, 108.0}; // Initialize the Gnuplot object Gnuplot gp; // Set the plot title and axis labels gp.cmd("set title 'FM Band Allocation for Digital Communication'"); gp.cmd("set xlabel 'Frequency (MHz)'"); gp.cmd("set ylabel 'Application'"); // Set the x-axis limits to the FM frequency range gp.set_xrange(fm_range[0], fm_range[1]); // Plot the frequency ranges as horizontal boxes with different colors gp.set_style("fill solid border lc rgb 'blue'"); gp.cmd("set boxwidth 0.1"); gp.cmd("set style fill solid 0.5"); gp.plot_xy(fm_range, vector<double>{1,1}); gp.set_style("fill solid border lc rgb 'green'"); gp.plot_xy(iot_range, vector<double>{2,2}); gp.set_style("fill solid border lc rgb 'red'"); gp.plot_xy(dab_range, vector<double>{3,3}); gp.plot_xy(safety_range, vector<double>{4,4}); // Add a legend for the application categories gp.cmd("set key at graph 0.5,0.95"); gp.cmd("set key horizontal"); gp.cmd("set key font ',10'"); gp.cmd("set key box opaque"); // Display the plot cout << "Press enter to continue..."; cin.ignore(); return 0; }