I want to know, how can I graph the two plot in one frame?
I am not sure if you are asking how to create two sub-plots next to each other or how to have two lines inside the same set of axes, so I will give you both answers.
If you simply want two lines inside of a set of axes, you can either:
- Pass in multiple columns of data, since each column will be plotted as a different line.
- Use one of the
plotAddfunctions to add another line, scatter series, etc.
Plot multiple columns
x = seqa(1, 1, 10); //Create two sample 'y' columns y = rndn(10,2); //Plot both 'y' columns inside same axes plotXY(x, y);
If the second column of data is not of the same length as the first, it is difficult to put them together as two columns in the same matrix. You can actually do this by padding the shorter column with missing values, but it is much simpler to just use a
plotAdd function like this
x = seqa(1, 1, 10); //Create first example 'y' column y = rndn(10,1); //Create second example 'x' and 'y' x_2 = seqa(1, 1, 14); y_2 = rndn(14,1); //Plot first 'y' column plotXY(x, y); //Add second 'y' column to the plot just created plotAddXY(x_2, y_2);
How to create two sub-plots
For this, you use the
plotLayout command. I think the code and comments below are the best way to explain its usage.
//Create some data to plot x = seqa(1,1,10); y = rndn(10,1); //Divide plot canvas into //a 2x1 grid and place //the next plot in the FIRST cell plotLayout(2, 1, 1); plotXY(x, y); //Reuse 'x', new 'y' for second plot y = rndn(10,1); //Divide plot canvas into //a 2x1 grid and place //the next plot in the SECOND cell plotLayout(2, 1, 2); plotXY(x, y); //Clear the plot grid/layout //so future plots are not inside the grid plotClearLayout();
thank you so much.