Difference between revisions of "Gnuplot/C2/Multiple-plots-in-a-canvas/English"
(11 intermediate revisions by 4 users not shown) | |||
Line 5: | Line 5: | ||
|- | |- | ||
|| '''Slide Number 1''' | || '''Slide Number 1''' | ||
+ | |||
'''Title Slide ''' | '''Title Slide ''' | ||
+ | |||
'''Multiple plots in a canvas''' | '''Multiple plots in a canvas''' | ||
|| Welcome to the tutorial on '''Multiple plots in a canvas'''. | || Welcome to the tutorial on '''Multiple plots in a canvas'''. | ||
Line 11: | Line 13: | ||
|- | |- | ||
|| '''Slide Number 2''' | || '''Slide Number 2''' | ||
+ | |||
'''Learning Objectives''' | '''Learning Objectives''' | ||
|| In this tutorial we will learn to, | || In this tutorial we will learn to, | ||
Line 19: | Line 22: | ||
|- | |- | ||
|| '''Slide Number 3''' | || '''Slide Number 3''' | ||
+ | |||
'''Learning Objectives''' | '''Learning Objectives''' | ||
− | || * Add a rectangle object in the background | + | || |
− | * Generate output on the screen | + | * Add a rectangle object in the background |
+ | * Generate output on the screen | ||
* Save the output to '''svg''' file | * Save the output to '''svg''' file | ||
|- | |- | ||
|| '''Slide Number 4''' | || '''Slide Number 4''' | ||
+ | |||
'''Pre-requisites''' | '''Pre-requisites''' | ||
|| To record this tutorial, I am using, | || To record this tutorial, I am using, | ||
* '''Ubuntu Linux''' 16.04 OS | * '''Ubuntu Linux''' 16.04 OS | ||
− | * '''Gedit''' version 3.18 | + | * '''Gedit''' version 3.18 |
* '''gnuplot''' version 5.2.6 | * '''gnuplot''' version 5.2.6 | ||
|- | |- | ||
|| '''Slide Number 5''' | || '''Slide Number 5''' | ||
+ | |||
'''System and Software Requirement''' | '''System and Software Requirement''' | ||
+ | |||
[https://spoken-tutorial.org/ https:spoken-tutorial.org] | [https://spoken-tutorial.org/ https:spoken-tutorial.org] | ||
|| To follow this tutorial, | || To follow this tutorial, | ||
− | * Learner must be familiar with | + | * Learner must be familiar with the basics of gnuplot. |
* For pre-requisite tutorials, please visit this site. | * For pre-requisite tutorials, please visit this site. | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 6''' |
+ | |||
'''Code files''' | '''Code files''' | ||
|| | || | ||
Line 50: | Line 59: | ||
|- | |- | ||
|| Press '''Ctrl+Alt+T'''. | || Press '''Ctrl+Alt+T'''. | ||
+ | |||
Enter the command '''cd Desktop'''. | Enter the command '''cd Desktop'''. | ||
|| Open a '''terminal''' and change the directory to '''Desktop'''. | || Open a '''terminal''' and change the directory to '''Desktop'''. | ||
+ | |||
I will demonstrate the '''multiplot''' command, with four graphs in one canvas. | I will demonstrate the '''multiplot''' command, with four graphs in one canvas. | ||
|- | |- | ||
− | || Type '''gedit & | + | || Type '''gedit &'''. |
− | || Type '''gedit space ampersand | + | || Type '''gedit space ampersand'''. |
+ | |||
The '''ampersand''' makes the process run in the background. | The '''ampersand''' makes the process run in the background. | ||
+ | |||
It detaches the process from the '''terminal'''. | It detaches the process from the '''terminal'''. | ||
+ | |||
|- | |- | ||
− | || | + | || Press '''Enter'''. |
− | || '''Windows''' users may use '''notepad''' or '''wordpad'''. | + | || Press '''Enter''' to open '''gedit'''. |
+ | |||
+ | '''Windows''' users may use '''notepad''' or '''wordpad'''. | ||
+ | |||
We will write the required commands in a text file. | We will write the required commands in a text file. | ||
|- | |- | ||
− | || Type, '''# my first multiplot''' and press '''Enter'''. | + | || Type, '''#my first multiplot''' and press '''Enter'''. |
− | || I will type '''hash my first multiplot''' and press '''Enter''' . | + | || I will type '''hash my first multiplot''' and press '''Enter'''. |
+ | |||
This is a comment line. | This is a comment line. | ||
Line 73: | Line 91: | ||
|| Type '''set multiplot''', press '''Enter'''. | || Type '''set multiplot''', press '''Enter'''. | ||
|| Next, set the '''environment''' to '''multiplot''' mode, as '''set space multiplot'''. | || Next, set the '''environment''' to '''multiplot''' mode, as '''set space multiplot'''. | ||
+ | |||
Start a new line and leave a blank line for clarity. | Start a new line and leave a blank line for clarity. | ||
|- | |- | ||
|| Cursor on '''gedit''' window. | || Cursor on '''gedit''' window. | ||
− | || We will plot, '''sin x, cos x''', a '''straight line''' and an '''exponential decay''' | + | || We will plot, '''sin x, cos x''', a '''straight line''' and an '''exponential decay''' graphs. |
|- | |- | ||
Line 83: | Line 102: | ||
'''#x-sin(x) plot''' | '''#x-sin(x) plot''' | ||
|| I will start with the script for the '''sin(x)''' part. | || I will start with the script for the '''sin(x)''' part. | ||
+ | |||
In the next line, enter a comment to identify that, the plot is for '''sin x'''. | In the next line, enter a comment to identify that, the plot is for '''sin x'''. | ||
Line 89: | Line 109: | ||
'''set origin 0,0''' | '''set origin 0,0''' | ||
'''set size 0.5, 0.5''' | '''set size 0.5, 0.5''' | ||
− | || Enter the next two commands define the size and placement for the '''sin x''' plot. | + | || Enter the next two commands as shown here. |
+ | |||
+ | They define the size and placement for the '''sin x''' plot. | ||
|- | |- | ||
|| Hover mouse next to '''set origin 0,0''' . | || Hover mouse next to '''set origin 0,0''' . | ||
|| This plot is set at position zero, zero which is the origin. | || This plot is set at position zero, zero which is the origin. | ||
+ | |||
This is the left hand bottom corner of the page. | This is the left hand bottom corner of the page. | ||
Line 99: | Line 122: | ||
|| Hover mouse next to '''set size 0.5,0.5''' . | || Hover mouse next to '''set size 0.5,0.5''' . | ||
|| Here I am specifying plot size to be a square of point 5 by point 5. | || Here I am specifying plot size to be a square of point 5 by point 5. | ||
+ | |||
This size is relative to the total page size and makes it a quarter of the page. | This size is relative to the total page size and makes it a quarter of the page. | ||
Line 105: | Line 129: | ||
'''set xrange[-10:10] yrange[-2:2]''' | '''set xrange[-10:10] yrange[-2:2]''' | ||
'''set title '”x-sin(x) plot”''' | '''set title '”x-sin(x) plot”''' | ||
− | + | ||
− | || | + | || We will set x and y range and title for the '''sin (x)''' plot. |
− | These are the graph formatting details for the plot '''sin x'''. | + | |
+ | These are the graph formatting details for the '''sin x''' plot. | ||
+ | |||
+ | |- | ||
+ | || Type '''plot sin(x) ''' and press '''Enter'''. | ||
+ | || We will then issue the plot command for sin(x). | ||
|- | |- | ||
|| Type, | || Type, | ||
'''# cos (x) - x plot''' | '''# cos (x) - x plot''' | ||
− | || | + | || I will enter details for the second plot, which is '''cos (x)'''. |
+ | |||
First, write a comment line, to indicate it is the part for cos (x), in the script. | First, write a comment line, to indicate it is the part for cos (x), in the script. | ||
− | Type '''hash cos x - x''' plot. | + | |
+ | Type '''hash cos x-x''' plot. | ||
|- | |- | ||
Line 124: | Line 155: | ||
'''set title "x-cos(x) graph" ''' | '''set title "x-cos(x) graph" ''' | ||
'''plot cos(x) notitle ''' | '''plot cos(x) notitle ''' | ||
− | || Enter the commands as | + | || Enter the commands as shown here. |
+ | Pause the video as and when necessary. | ||
|- | |- | ||
Line 134: | Line 166: | ||
|| Show the '''data.txt''' file icon in '''Desktop'''. | || Show the '''data.txt''' file icon in '''Desktop'''. | ||
|| I will use the data from the text file '''data.txt''', for the third and fourth plots. | || I will use the data from the text file '''data.txt''', for the third and fourth plots. | ||
+ | |||
This file is provided to you in the '''Code files''' link of this tutorial. | This file is provided to you in the '''Code files''' link of this tutorial. | ||
− | I have downloaded and saved the file on '''Desktop'''. | + | |
+ | |- | ||
+ | || Show screenshot of file on '''Desktop'''. | ||
+ | || I have downloaded and saved the file on '''Desktop'''. | ||
|- | |- | ||
Line 144: | Line 180: | ||
|| Type | || Type | ||
'''#straight line plot''' | '''#straight line plot''' | ||
− | || Now, I will enter details for the third plot. | + | || Now, I will enter the details for the third plot. |
− | Write a comment, starting with a hash | + | Write a comment, starting with a hash. |
+ | |||
Type, '''straight line plot''' and press '''Enter'''. | Type, '''straight line plot''' and press '''Enter'''. | ||
Line 155: | Line 192: | ||
'''set size 0.5, 0.5 ''' | '''set size 0.5, 0.5 ''' | ||
|| Again specify the size and position for this graph. | || Again specify the size and position for this graph. | ||
+ | This position places the graph in the top right corner. | ||
− | |||
− | |||
|- | |- | ||
|| Type the lines, | || Type the lines, | ||
Line 165: | Line 201: | ||
'''plot 'data.txt' using 1:3 with linespoint notitle ''' | '''plot 'data.txt' using 1:3 with linespoint notitle ''' | ||
and press '''Enter'''. | and press '''Enter'''. | ||
− | || Enter the commands as | + | || Enter the commands as shown here. |
− | Specify the title | + | |
+ | Specify the title, autoscale axis range and issue the plot command. | ||
|- | |- | ||
Line 178: | Line 215: | ||
|- | |- | ||
|| Hover mouse over '''origin''', '''xrange''' and '''yrange'''. | || Hover mouse over '''origin''', '''xrange''' and '''yrange'''. | ||
− | || | + | || Here, I am specifying autoscale for axes range. |
|- | |- | ||
Line 184: | Line 221: | ||
Hover mouse next to '''notitle'''. | Hover mouse next to '''notitle'''. | ||
|| Here I am using column 1 for '''x''' data and column 3 for '''y''' data. | || Here I am using column 1 for '''x''' data and column 3 for '''y''' data. | ||
+ | |||
Here I also specify, no legend title is required in the plot. | Here I also specify, no legend title is required in the plot. | ||
|- | |- | ||
|| Cursor in '''gedit''' window. | || Cursor in '''gedit''' window. | ||
− | || | + | || Let's write the part of '''script''' to generate the exponential decay plot. |
|- | |- | ||
− | || Type, '''# | + | || Type, '''#exponential decay''' and |
press '''Enter'''. | press '''Enter'''. | ||
|| I will type '''hash exponential decay''' for the comment line. | || I will type '''hash exponential decay''' for the comment line. | ||
Line 199: | Line 237: | ||
'''set origin 0.0,0.5 ''' | '''set origin 0.0,0.5 ''' | ||
and press '''Enter'''. | and press '''Enter'''. | ||
− | || For this plot, set the position above the '''sin x''' in the top left corner. | + | || For this plot, set the position above the '''sin x''' plot in the top left corner. |
|- | |- | ||
Line 208: | Line 246: | ||
'''plot 'data.txt' using 1:2 with linespoint notitle ''' | '''plot 'data.txt' using 1:2 with linespoint notitle ''' | ||
and press '''Enter'''. | and press '''Enter'''. | ||
− | || Set size, title for graph and | + | || Set size, title for graph and auto-scale the data. |
+ | |||
Read in the columns for '''x''' and '''y''' data from the data file in the '''plot''' command. | Read in the columns for '''x''' and '''y''' data from the data file in the '''plot''' command. | ||
+ | |||
+ | Here, it is column 1 and column 2 for '''x''' and '''y''' data. | ||
|- | |- | ||
Line 215: | Line 256: | ||
Type '''unset multiplot''' and press '''Enter'''. | Type '''unset multiplot''' and press '''Enter'''. | ||
|| I will leave an blank line after this. | || I will leave an blank line after this. | ||
+ | |||
Finally, '''unset''' the '''multiplot''' mode with the command, '''unset space multiplot'''. | Finally, '''unset''' the '''multiplot''' mode with the command, '''unset space multiplot'''. | ||
|- | |- | ||
|| Press '''ctrl+S'''. | || Press '''ctrl+S'''. | ||
− | || Press '''ctrl S''' to open the file '''save as''' | + | || Press '''ctrl S''' to open the file '''save as''' dialog box. |
|- | |- | ||
Line 225: | Line 267: | ||
Click on '''save'''. | Click on '''save'''. | ||
|| Save the file in '''Desktop''' directory with filename '''multiplot.dem'''. | || Save the file in '''Desktop''' directory with filename '''multiplot.dem'''. | ||
+ | |||
Click on '''save''' to save the script. | Click on '''save''' to save the script. | ||
|- | |- | ||
|| Minimize '''gedit'''. | || Minimize '''gedit'''. | ||
− | || | + | || Minimize the '''gedit''' window. |
|- | |- | ||
− | || Go to | + | || Go to the '''terminal'''. |
− | || Go to the '''terminal''' | + | || Go to the '''terminal'''. |
|- | |- | ||
|| Type '''gnuplot''' and press '''Enter'''. | || Type '''gnuplot''' and press '''Enter'''. | ||
− | || Let’s open '''gnuplot''' . | + | || Let’s open '''gnuplot'''. |
|- | |- | ||
Line 253: | Line 296: | ||
|- | |- | ||
|| Show the graphics window with 4 plots. | || Show the graphics window with 4 plots. | ||
− | || A graphic window with four graphs | + | || A graphic window with four graphs appear in the canvas. |
|- | |- | ||
|| Show '''multiplot mode terminal prompt''' video patch from another '''terminal'''. | || Show '''multiplot mode terminal prompt''' video patch from another '''terminal'''. | ||
− | |||
|| In case of errors in the script, '''gnuplot''' will remain in the '''multiplot''' mode. | || In case of errors in the script, '''gnuplot''' will remain in the '''multiplot''' mode. | ||
Line 267: | Line 309: | ||
|- | |- | ||
|| Cursor on the '''terminal'''. | || Cursor on the '''terminal'''. | ||
− | || To '''reset''' | + | || To '''reset''' default setting, the '''unset''' command is used. |
− | + | ||
− | + | ||
+ | If we do not '''unset''' the format, the set format will not '''reset''' to default setting. | ||
|- | |- | ||
|| Hover mouse next to '''gnuplot''' prompt. | || Hover mouse next to '''gnuplot''' prompt. | ||
|| This returns the terminal to '''gnuplot''' prompt. | || This returns the terminal to '''gnuplot''' prompt. | ||
− | + | ||
+ | Debug the '''script''' to make it error free and run the script to generate the plot. | ||
|- | |- | ||
Line 282: | Line 324: | ||
|- | |- | ||
|| Close the graphics window. | || Close the graphics window. | ||
− | || Hence, I will make the following modifications in the script. | + | || Hence, I will make the following modifications in the script. |
+ | |||
Close the graphics window. | Close the graphics window. | ||
Line 288: | Line 331: | ||
|| Go back to '''gedit''' script. | || Go back to '''gedit''' script. | ||
|| Go back to the '''gedit''' window to edit the script. | || Go back to the '''gedit''' window to edit the script. | ||
+ | |||
If you had closed it, please open the script file to edit it further. | If you had closed it, please open the script file to edit it further. | ||
|- | |- | ||
|| Scroll to the '''sin(x)''' script part. | || Scroll to the '''sin(x)''' script part. | ||
+ | |||
Start a new line before plot command. | Start a new line before plot command. | ||
|| Scroll to the '''sin x''' part of the script. | || Scroll to the '''sin x''' part of the script. | ||
+ | |||
Let's change the background color of the '''sin x''' plot. | Let's change the background color of the '''sin x''' plot. | ||
+ | |||
Start a new line before the '''plot''' command. | Start a new line before the '''plot''' command. | ||
Line 301: | Line 348: | ||
'''set object 1 rectangle from graph 0,0 to graph 1,1 behind fillcolor rgb 'cyan' fillstyle solid noborder''' | '''set object 1 rectangle from graph 0,0 to graph 1,1 behind fillcolor rgb 'cyan' fillstyle solid noborder''' | ||
and press '''Enter'''. | and press '''Enter'''. | ||
− | || To change background color, we will insert an object, in the graph. | + | || To change the background color, we will insert an object, in the graph. |
+ | |||
Enter the command as seen on the screen. | Enter the command as seen on the screen. | ||
|- | |- | ||
|| Hover mouse next to '''object,''' '''cyan''' and '''noborder'''. | || Hover mouse next to '''object,''' '''cyan''' and '''noborder'''. | ||
− | || Here, we set a cyan colored rectangle, without border, for background. | + | || Here, we have set a cyan colored rectangle, without border, for the background. |
|- | |- | ||
|| Start a new line after the '''plot''' command. | || Start a new line after the '''plot''' command. | ||
+ | |||
Type,''' unset object 1''' and press '''Enter'''. | Type,''' unset object 1''' and press '''Enter'''. | ||
|| Start a new line after the '''plot''' command. | || Start a new line after the '''plot''' command. | ||
+ | |||
'''Unset''' the cyan background object, as shown here. | '''Unset''' the cyan background object, as shown here. | ||
Line 320: | Line 370: | ||
'''set ytics 40000''' | '''set ytics 40000''' | ||
and press '''Enter'''. | and press '''Enter'''. | ||
− | || | + | || For the straight line plot, add modifications on axis formats. |
− | The | + | |
+ | The y axis numbers are large. | ||
|- | |- | ||
|| Point mouse to '''set format y''', then to '''xtics rotate''' and then '''ytics 40000'''. | || Point mouse to '''set format y''', then to '''xtics rotate''' and then '''ytics 40000'''. | ||
|| The '''y''' axis numbers are large. | || The '''y''' axis numbers are large. | ||
+ | |||
So I will change the notation. | So I will change the notation. | ||
− | I will also rotate the '''x''' axis tics in the plot | + | |
+ | I will also rotate the '''x''' axis tics in the plot. | ||
+ | |||
I also specify the '''y''' tics spacing. | I also specify the '''y''' tics spacing. | ||
Line 336: | Line 390: | ||
|- | |- | ||
|| Scroll down the script file. | || Scroll down the script file. | ||
− | || Next go to the part of '''exponential decay''' script . | + | || Next go to the part of the '''exponential decay''' script. |
|- | |- | ||
Line 343: | Line 397: | ||
'''set xtics rotate ''' | '''set xtics rotate ''' | ||
'''set ytics 40000 ''' | '''set ytics 40000 ''' | ||
− | + | ||
− | || I will add the same formatting commands, as in the straight line plot. | + | Press '''Enter'''. |
+ | || I will add the same formatting commands, as shown in the straight line plot. | ||
+ | |||
Notice that, they are added before the '''plot''' command. | Notice that, they are added before the '''plot''' command. | ||
Line 353: | Line 409: | ||
|- | |- | ||
|| Scroll to top of the script. | || Scroll to top of the script. | ||
− | || Let's add | + | || Let's add commands to print the graph into an image file. |
+ | |||
Scroll up to the top of the script file. | Scroll up to the top of the script file. | ||
Line 359: | Line 416: | ||
|| Before the set multiplot line, type, | || Before the set multiplot line, type, | ||
'''set terminal svg size 800,800 enhanced font 'Verdana,12' ''' | '''set terminal svg size 800,800 enhanced font 'Verdana,12' ''' | ||
− | || Type set term to '''svg''' as seen before starting the multiplot mode. | + | || Type '''set term''' to '''svg''' as seen before starting the '''multiplot''' mode. |
|- | |- | ||
Line 365: | Line 422: | ||
'''set output 'multiplot.svg'''' and press '''Enter'''. | '''set output 'multiplot.svg'''' and press '''Enter'''. | ||
|| Direct the output to a '''svg''' file as seen. | || Direct the output to a '''svg''' file as seen. | ||
+ | |||
These are done before the '''multiplot''' command is executed. | These are done before the '''multiplot''' command is executed. | ||
Line 370: | Line 428: | ||
|| Scroll to the bottom of the script. | || Scroll to the bottom of the script. | ||
|| Scroll to the bottom of script file and '''unset''' the '''output'''. | || Scroll to the bottom of script file and '''unset''' the '''output'''. | ||
+ | |||
This is done after before we '''unset''' the '''multiplot''' mode. | This is done after before we '''unset''' the '''multiplot''' mode. | ||
Line 378: | Line 437: | ||
|- | |- | ||
|| Press '''Ctrl+S '''and minimize '''gedit'''. | || Press '''Ctrl+S '''and minimize '''gedit'''. | ||
− | || Press '''Ctrl | + | || Press '''Ctrl+S''' to '''save''' the file and minimize '''gedit'''. |
|- | |- | ||
|| Go to the '''terminal'''. | || Go to the '''terminal'''. | ||
|| Go back to the '''terminal''' from where '''gnuplot''' was opened. | || Go back to the '''terminal''' from where '''gnuplot''' was opened. | ||
+ | |||
If you had closed '''gnuplot''', please open '''gnuplot''' again. | If you had closed '''gnuplot''', please open '''gnuplot''' again. | ||
Line 388: | Line 448: | ||
|| Enter the command '''load 'multiplot.dem'''' . | || Enter the command '''load 'multiplot.dem'''' . | ||
|| Run the updated '''multiplot.dem''' script. | || Run the updated '''multiplot.dem''' script. | ||
− | Now, the graphics window does not open, since the output is a '''svg''' file | + | |
+ | Now, the graphics window does not open, since the output is a '''svg''' file. | ||
|- | |- | ||
Line 396: | Line 457: | ||
|- | |- | ||
|| Go to '''Desktop'''. | || Go to '''Desktop'''. | ||
− | || Go to '''Desktop''' . | + | || Go to '''Desktop'''. |
|- | |- | ||
|| Open '''multiplot.svg''' file. | || Open '''multiplot.svg''' file. | ||
|| Open the file, '''multiplot.svg''' that is created on the '''Desktop'''. | || Open the file, '''multiplot.svg''' that is created on the '''Desktop'''. | ||
+ | |||
Since the path is '''Desktop''' the output file is generated in the '''Desktop''' directory. | Since the path is '''Desktop''' the output file is generated in the '''Desktop''' directory. | ||
|- | |- | ||
|| Cursor on the '''svg''' file. | || Cursor on the '''svg''' file. | ||
− | || You may add commands to the script | + | || You may add commands to the script to generate the desired output. |
|- | |- | ||
|| Close the image file. | || Close the image file. | ||
|| Similar scripts are available in the '''gnuplot''' demo website. | || Similar scripts are available in the '''gnuplot''' demo website. | ||
− | + | ||
− | + | Practise and familiarize with the commands and styles. | |
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 7''' |
+ | |||
'''Summary''' | '''Summary''' | ||
− | || Now, to summarize, in this tutorial, we * Learned the '''multiplot''' command | + | || Now, to summarize, in this tutorial, we |
+ | * Learned the '''multiplot''' command | ||
* Defined placement and size of plot in canvas | * Defined placement and size of plot in canvas | ||
* Generated four plots in a canvas | * Generated four plots in a canvas | ||
* Added a rectangle object | * Added a rectangle object | ||
* Generated output on the screen and | * Generated output on the screen and | ||
− | * | + | * Saved the output to a '''svg''' file |
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 8''' |
+ | |||
'''Assignment 1''' | '''Assignment 1''' | ||
|| For assignment activity, please do the following. | || For assignment activity, please do the following. | ||
− | * Plot 4 '''parabolas''' opening | + | * Plot 4 '''parabolas''' opening in 4 different quadrants in a 2 x 2 '''multiplot'''. |
+ | |||
* Give a different background color for each plot. | * Give a different background color for each plot. | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 9''' |
+ | |||
'''Assignment 2''' | '''Assignment 2''' | ||
− | || With the '''data.txt''', provided, do the following.* Generate one plot covering the canvas with x-y1 data points. | + | || With the file '''data.txt''', that is provided, do the following. |
+ | * Generate one plot covering the canvas with x-y1 data points. | ||
* Draw an inset graph, with x-y2 data points. | * Draw an inset graph, with x-y2 data points. | ||
|- | |- | ||
|| Show assignment result screenshot. | || Show assignment result screenshot. | ||
− | || | + | || The completed assignment looks similar to this. |
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 10''' |
+ | |||
'''Spoken Tutorial Project''' | '''Spoken Tutorial Project''' | ||
|| This video summarises the '''Spoken Tutorial Project''' . | || This video summarises the '''Spoken Tutorial Project''' . | ||
Line 447: | Line 516: | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 11''' |
+ | |||
'''Spoken Tutorial workshops''' | '''Spoken Tutorial workshops''' | ||
|| We conduct workshops and give certificates. | || We conduct workshops and give certificates. | ||
Line 453: | Line 523: | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 12''' |
+ | |||
'''Forum for specific questions:''' | '''Forum for specific questions:''' | ||
|| Post your timed queries in the '''forum'''. | || Post your timed queries in the '''forum'''. | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 13''' |
+ | |||
'''Acknowledgement''' | '''Acknowledgement''' | ||
|| '''Spoken Tutorial Project''' is funded by '''MHRD''', '''Government of India'''. | || '''Spoken Tutorial Project''' is funded by '''MHRD''', '''Government of India'''. |
Latest revision as of 12:17, 20 April 2023
Visual Cue | Narration |
Slide Number 1
Title Slide Multiple plots in a canvas |
Welcome to the tutorial on Multiple plots in a canvas. |
Slide Number 2
Learning Objectives |
In this tutorial we will learn to,
|
Slide Number 3
Learning Objectives |
|
Slide Number 4
Pre-requisites |
To record this tutorial, I am using,
|
Slide Number 5
System and Software Requirement |
To follow this tutorial,
|
Slide Number 6
Code files |
|
Press Ctrl+Alt+T.
Enter the command cd Desktop. |
Open a terminal and change the directory to Desktop.
I will demonstrate the multiplot command, with four graphs in one canvas. |
Type gedit &. | Type gedit space ampersand.
The ampersand makes the process run in the background. It detaches the process from the terminal.
|
Press Enter. | Press Enter to open gedit.
Windows users may use notepad or wordpad. We will write the required commands in a text file. |
Type, #my first multiplot and press Enter. | I will type hash my first multiplot and press Enter.
This is a comment line. |
Type set multiplot, press Enter. | Next, set the environment to multiplot mode, as set space multiplot.
Start a new line and leave a blank line for clarity. |
Cursor on gedit window. | We will plot, sin x, cos x, a straight line and an exponential decay graphs. |
Type header line,
#x-sin(x) plot |
I will start with the script for the sin(x) part.
In the next line, enter a comment to identify that, the plot is for sin x. |
Type lines,
set origin 0,0 set size 0.5, 0.5 |
Enter the next two commands as shown here.
They define the size and placement for the sin x plot. |
Hover mouse next to set origin 0,0 . | This plot is set at position zero, zero which is the origin.
This is the left hand bottom corner of the page. |
Hover mouse next to set size 0.5,0.5 . | Here I am specifying plot size to be a square of point 5 by point 5.
This size is relative to the total page size and makes it a quarter of the page. |
Type the following lines,
set xrange[-10:10] yrange[-2:2] set title '”x-sin(x) plot” |
We will set x and y range and title for the sin (x) plot.
These are the graph formatting details for the sin x plot. |
Type plot sin(x) and press Enter. | We will then issue the plot command for sin(x). |
Type,
# cos (x) - x plot |
I will enter details for the second plot, which is cos (x).
First, write a comment line, to indicate it is the part for cos (x), in the script. Type hash cos x-x plot. |
Type the lines,
set origin 0.5,0.0 set size 0.5, 0.5 set xrange[-10:10] set yrange[-2:2] set title "x-cos(x) graph" plot cos(x) notitle |
Enter the commands as shown here.
Pause the video as and when necessary. |
Hover mouse next to set origin and set size. | Here, I specify the position and size of the second plot.
The position is set to the right side of the sin x plot. |
Show the data.txt file icon in Desktop. | I will use the data from the text file data.txt, for the third and fourth plots.
This file is provided to you in the Code files link of this tutorial. |
Show screenshot of file on Desktop. | I have downloaded and saved the file on Desktop. |
Show screenshot of the file. | The file has 3 data columns, x , y1 and y2 . |
Type
#straight line plot |
Now, I will enter the details for the third plot.
Write a comment, starting with a hash. Type, straight line plot and press Enter. |
Type the lines,
set origin 0.5,0.5 set size 0.5, 0.5 |
Again specify the size and position for this graph.
This position places the graph in the top right corner. |
Type the lines,
set title "straight line" set xrange[*:*] set yrange[*:*] plot 'data.txt' using 1:3 with linespoint notitle and press Enter. |
Enter the commands as shown here.
Specify the title, autoscale axis range and issue the plot command. |
Hover mouse over 1:3 in the plot command. | The 3rd column in the data file is the y data values for the straight line plot. |
Cursor in gedit window. | Pause the video when required to enter the commands. |
Hover mouse over origin, xrange and yrange. | Here, I am specifying autoscale for axes range. |
Hover mouse next to 1:3 .
Hover mouse next to notitle. |
Here I am using column 1 for x data and column 3 for y data.
Here I also specify, no legend title is required in the plot. |
Cursor in gedit window. | Let's write the part of script to generate the exponential decay plot. |
Type, #exponential decay and
press Enter. |
I will type hash exponential decay for the comment line. |
Type,
set origin 0.0,0.5 and press Enter. |
For this plot, set the position above the sin x plot in the top left corner. |
Type,
set size 0.5, 0.5 set title "Exponential decay" set autoscale plot 'data.txt' using 1:2 with linespoint notitle and press Enter. |
Set size, title for graph and auto-scale the data.
Read in the columns for x and y data from the data file in the plot command. Here, it is column 1 and column 2 for x and y data. |
Press Enter.
Type unset multiplot and press Enter. |
I will leave an blank line after this.
Finally, unset the multiplot mode with the command, unset space multiplot. |
Press ctrl+S. | Press ctrl S to open the file save as dialog box. |
Type filename as, multiplot.dem
Click on save. |
Save the file in Desktop directory with filename multiplot.dem.
Click on save to save the script. |
Minimize gedit. | Minimize the gedit window. |
Go to the terminal. | Go to the terminal. |
Type gnuplot and press Enter. | Let’s open gnuplot. |
Press Ctrl+L . | I will also clear the screen. |
Cursor in the terminal. | Let's run the script to generate the multiplot. |
Type load 'multiplot.dem' and press Enter. | Enter the command, load space in single quotes, multiplot.dem. |
Show the graphics window with 4 plots. | A graphic window with four graphs appear in the canvas. |
Show multiplot mode terminal prompt video patch from another terminal. | In case of errors in the script, gnuplot will remain in the multiplot mode. |
Type unset space multiplot and press Enter. | Then the graphics plot is also not generated.
If so, type unset space multiplot. |
Cursor on the terminal. | To reset default setting, the unset command is used.
If we do not unset the format, the set format will not reset to default setting. |
Hover mouse next to gnuplot prompt. | This returns the terminal to gnuplot prompt.
Debug the script to make it error free and run the script to generate the plot. |
Go to the graphics window. | A few formatting modifications could improve the look of the graphs. |
Close the graphics window. | Hence, I will make the following modifications in the script.
Close the graphics window. |
Go back to gedit script. | Go back to the gedit window to edit the script.
If you had closed it, please open the script file to edit it further. |
Scroll to the sin(x) script part.
Start a new line before plot command. |
Scroll to the sin x part of the script.
Let's change the background color of the sin x plot. Start a new line before the plot command. |
Type
set object 1 rectangle from graph 0,0 to graph 1,1 behind fillcolor rgb 'cyan' fillstyle solid noborder and press Enter. |
To change the background color, we will insert an object, in the graph.
Enter the command as seen on the screen. |
Hover mouse next to object, cyan and noborder. | Here, we have set a cyan colored rectangle, without border, for the background. |
Start a new line after the plot command.
Type, unset object 1 and press Enter. |
Start a new line after the plot command.
Unset the cyan background object, as shown here. |
Type in the three lines above the plot command line,
set format y "10^{%L}" set xtics rotate set ytics 40000 and press Enter. |
For the straight line plot, add modifications on axis formats.
The y axis numbers are large. |
Point mouse to set format y, then to xtics rotate and then ytics 40000. | The y axis numbers are large.
So I will change the notation. I will also rotate the x axis tics in the plot. I also specify the y tics spacing. |
Type unset format y . | We will unset the y axis format after the plot command is executed. |
Scroll down the script file. | Next go to the part of the exponential decay script. |
Before the plot command, type in the three lines,
set format y "10^{%L}" set xtics rotate set ytics 40000 Press Enter. |
I will add the same formatting commands, as shown in the straight line plot.
Notice that, they are added before the plot command. |
Type, unset format y after the plot command. | Start a new line after plot command and unset the format of y-axis. |
Scroll to top of the script. | Let's add commands to print the graph into an image file.
Scroll up to the top of the script file. |
Before the set multiplot line, type,
set terminal svg size 800,800 enhanced font 'Verdana,12' |
Type set term to svg as seen before starting the multiplot mode. |
Type
set output 'multiplot.svg' and press Enter. |
Direct the output to a svg file as seen.
These are done before the multiplot command is executed. |
Scroll to the bottom of the script. | Scroll to the bottom of script file and unset the output.
This is done after before we unset the multiplot mode. |
Type unset output and press Enter. | Enter the command unset space output. |
Press Ctrl+S and minimize gedit. | Press Ctrl+S to save the file and minimize gedit. |
Go to the terminal. | Go back to the terminal from where gnuplot was opened.
If you had closed gnuplot, please open gnuplot again. |
Enter the command load 'multiplot.dem' . | Run the updated multiplot.dem script.
Now, the graphics window does not open, since the output is a svg file. |
Enter the command quit. | Enter the command quit, to quit gnuplot. |
Go to Desktop. | Go to Desktop. |
Open multiplot.svg file. | Open the file, multiplot.svg that is created on the Desktop.
Since the path is Desktop the output file is generated in the Desktop directory. |
Cursor on the svg file. | You may add commands to the script to generate the desired output. |
Close the image file. | Similar scripts are available in the gnuplot demo website.
Practise and familiarize with the commands and styles. |
Slide Number 7
Summary |
Now, to summarize, in this tutorial, we
|
Slide Number 8
Assignment 1 |
For assignment activity, please do the following.
|
Slide Number 9
Assignment 2 |
With the file data.txt, that is provided, do the following.
|
Show assignment result screenshot. | The completed assignment looks similar to this. |
Slide Number 10
Spoken Tutorial Project |
This video summarises the Spoken Tutorial Project .
Please download and watch it. |
Slide Number 11
Spoken Tutorial workshops |
We conduct workshops and give certificates.
For more details, please write to us. |
Slide Number 12
Forum for specific questions: |
Post your timed queries in the forum. |
Slide Number 13
Acknowledgement |
Spoken Tutorial Project is funded by MHRD, Government of India. |
This is Rani from IIT, Bombay.
Thank you for joining. |