Difference between revisions of "Gnuplot/C2/Plotting-functions/English"
(7 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
* '''Plot''' and '''replot commands''' for '''2D''' plotting | * '''Plot''' and '''replot commands''' for '''2D''' plotting | ||
− | * Plot three '''functions: sin x, cos x '''and''' sin x plus cos x''' | + | * Plot three '''functions: '''sin(x)''', '''cos(x)''' and '''sin(x) plus cos(x)''' |
* Draw grid and set limits | * Draw grid and set limits | ||
* Zoom in and zoom out of a plot | * Zoom in and zoom out of a plot | ||
Line 23: | Line 23: | ||
'''Learning Objectives''' | '''Learning Objectives''' | ||
|| | || | ||
− | |||
* Add axis labels and graph title | * Add axis labels and graph title | ||
* Change font '''style''' and size | * Change font '''style''' and size | ||
* Add '''Greek symbols''' | * Add '''Greek symbols''' | ||
− | * Set axis '''tick marks ''' | + | * Set axis '''tick marks ''' and |
− | and | + | |
* Save the data points to a file | * Save the data points to a file | ||
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 4''' |
'''System and Software Requirement''' | '''System and Software Requirement''' | ||
|| To record this tutorial, I am using | || To record this tutorial, I am using | ||
* '''Debian Linux''' 9.3 | * '''Debian Linux''' 9.3 | ||
− | * '''gnuplot''' 5.2.6 | + | * '''gnuplot''' 5.2.6 and |
− | and | + | * '''Gedit text editor''' 3.22.0 |
− | * ''' | + | |
|- | |- | ||
− | || '''Slide Number | + | || '''Slide Number 5''' |
'''Pre-requisites''' | '''Pre-requisites''' | ||
|| To follow this tutorial, | || To follow this tutorial, | ||
Line 50: | Line 47: | ||
|- | |- | ||
− | || Press '''Ctrl Alt T''' . | + | || Press '''Ctrl + Alt + T''' . |
− | || Open a '''terminal''' by pressing '''Ctrl, Alt''' and''' T''' keys simultaneously. | + | || Open a '''terminal''' by pressing '''Ctrl, Alt''' and '''T''' keys simultaneously. |
|- | |- | ||
Line 67: | Line 64: | ||
To execute a '''command''' in the '''terminal''', press '''Enter''' after typing it. | To execute a '''command''' in the '''terminal''', press '''Enter''' after typing it. | ||
+ | |||
I will not mention this separately. | I will not mention this separately. | ||
|- | |- | ||
− | || Press''' Ctrl | + | || Press''' Ctrl+Shift+K'''. |
|| I will clear the '''terminal'''. | || I will clear the '''terminal'''. | ||
|- | |- | ||
− | || Type '''plot sin (x)''' and Press '''Enter'''. | + | || Type '''plot sin(x)''' and Press '''Enter'''. |
− | || Now type '''plot space sin (x)'''. | + | || Now type '''plot space sin(x)'''. |
+ | |||
Note that angle '''x''' is within parentheses. | Note that angle '''x''' is within parentheses. | ||
Line 97: | Line 96: | ||
|- | |- | ||
|| Hold Ctrl and zoom in with mouse scroll. | || Hold Ctrl and zoom in with mouse scroll. | ||
− | || Hold down the | + | || Hold down the control key and move the mouse scroll wheel to zoom in and zoom out. |
|- | |- | ||
Line 105: | Line 104: | ||
|- | |- | ||
|| Show zoom in and out. | || Show zoom in and out. | ||
− | || Let us | + | || Let us reset the limits of the axes as before. |
|- | |- | ||
|| Type '''reset''' and press '''Enter'''. | || Type '''reset''' and press '''Enter'''. | ||
− | || To | + | || To reset, type the command reset in the '''terminal''', followed by '''replot'''. |
|- | |- | ||
Line 118: | Line 117: | ||
|| Point to the '''legend'''. | || Point to the '''legend'''. | ||
|| Notice that the '''legend''' is on the top right side in the graph. | || Notice that the '''legend''' is on the top right side in the graph. | ||
+ | |||
It is not clear and intersects the graph. | It is not clear and intersects the graph. | ||
Line 125: | Line 125: | ||
|- | |- | ||
− | || Type '''set yrange [-2:2]''' and | + | || Type '''set yrange [-2:2]''' and press '''Enter'''. |
− | press '''Enter'''. | + | |
|| Type '''set space yrange space -2 colon 2''' within square brackets. | || Type '''set space yrange space -2 colon 2''' within square brackets. | ||
Line 133: | Line 132: | ||
Press '''Enter'''. | Press '''Enter'''. | ||
|| I will also change '''x''' axis range. | || I will also change '''x''' axis range. | ||
+ | |||
Enter command, '''set space xrange space -20 colon 20''' within square brackets. | Enter command, '''set space xrange space -20 colon 20''' within square brackets. | ||
Line 141: | Line 141: | ||
|- | |- | ||
− | || | + | || Cursor on the graph. |
|| Now the changed graph limits are visible. | || Now the changed graph limits are visible. | ||
Line 159: | Line 159: | ||
|| Hover mouse next to axis font. | || Hover mouse next to axis font. | ||
|| Next, let's make the axes fonts larger. | || Next, let's make the axes fonts larger. | ||
+ | |||
I want to set them at size 14 and in '''Verdana style'''. | I want to set them at size 14 and in '''Verdana style'''. | ||
Line 171: | Line 172: | ||
|- | |- | ||
− | || Type '''set xlabel 'x (angle)' font “Verdana, 14”''' | + | || Type '''set xlabel 'x (angle)' font “Verdana, 14”''' |
Press '''Enter''' | Press '''Enter''' | ||
|| Let's set '''x axis label''' as '''x angle'''. | || Let's set '''x axis label''' as '''x angle'''. | ||
+ | |||
Type the '''command''' as shown here. | Type the '''command''' as shown here. | ||
+ | |||
Here we are specifying the '''label''', '''font style''' and size in a single command. | Here we are specifying the '''label''', '''font style''' and size in a single command. | ||
Line 182: | Line 185: | ||
|- | |- | ||
− | || | + | || Cursor on the terminal. |
|| We are using the same font size and style for y axis too. | || We are using the same font size and style for y axis too. | ||
Line 190: | Line 193: | ||
|- | |- | ||
− | || | + | || Cursor on the graph. |
|| Now, let’s see how to change the font in the '''legend'''. | || Now, let’s see how to change the font in the '''legend'''. | ||
Line 198: | Line 201: | ||
|| Type | || Type | ||
'''set space key space font space '''within double quotes '''comma 16 '''. | '''set space key space font space '''within double quotes '''comma 16 '''. | ||
− | This '''command''' sets the '''legend '''font size to 16. | + | |
+ | This '''command''' sets the '''legend''' font size to 16. | ||
|- | |- | ||
Line 216: | Line 220: | ||
|- | |- | ||
− | || | + | || Cursor on the terminal. |
|| Similarly you may choose to use '''help''' for any '''command''' when using '''gnuplot'''. | || Similarly you may choose to use '''help''' for any '''command''' when using '''gnuplot'''. | ||
Line 235: | Line 239: | ||
|| Type '''set title 'My first gnuplot'''' and press '''Enter'''. | || Type '''set title 'My first gnuplot'''' and press '''Enter'''. | ||
|| To add a title, type '''set title''' command, as shown here. | || To add a title, type '''set title''' command, as shown here. | ||
+ | |||
Followed by the title of the graph in single quotes. | Followed by the title of the graph in single quotes. | ||
Line 248: | Line 253: | ||
|- | |- | ||
|| In the terminal, type, | || In the terminal, type, | ||
− | '''set xtics ('-4{/Symbol p}' -4*pi,'-3{/Symbol p}' -3*pi,'-2{/Symbol p}' -2*pi, '-{/Symbol p}' -pi, 0, '{/Symbol p}' pi,'2{/Symbol p}' 2*pi, '3{/Symbol p}' 3*pi, '4{/Symbol p}' 4*pi,)''' and | + | '''set xtics ('-4{/Symbol p}' -4*pi,'-3{/Symbol p}' -3*pi,'-2{/Symbol p}' -2*pi,''' |
+ | |||
+ | ''''-{/Symbol p}' -pi, 0, '{/Symbol p}' pi,''' | ||
+ | |||
+ | ''' '2{/Symbol p}' 2*pi, '3{/Symbol p}' 3*pi, '4{/Symbol p}' 4*pi,)''' and | ||
press '''Enter'''. | press '''Enter'''. | ||
|| To change '''X ticks''' to angle, type the following '''command''' as shown on the screen. | || To change '''X ticks''' to angle, type the following '''command''' as shown on the screen. | ||
− | Here we are using the '''Greek''' alphabet''' pi '''and setting its position. | + | |
+ | Here we are using the '''Greek''' alphabet '''pi''' and setting its position. | ||
|- | |- | ||
|| Point mouse to '''('2{/Symbol p}'''' and then to '''2*pi'''. | || Point mouse to '''('2{/Symbol p}'''' and then to '''2*pi'''. | ||
|| This '''command''' places, '''Greek symbol pi''', at the value of 3.14. | || This '''command''' places, '''Greek symbol pi''', at the value of 3.14. | ||
+ | |||
Label 2'''π''' is at position 6.28 on the '''X''' axis. | Label 2'''π''' is at position 6.28 on the '''X''' axis. | ||
Line 262: | Line 273: | ||
|| Multiples of pi are placed at their respective positions. | || Multiples of pi are placed at their respective positions. | ||
|- | |- | ||
− | || Type '''help set xtics''' | + | || Type '''help set xtics''' and press '''Enter'''. |
− | + | ||
|| For more help on the formats of '''x tics''', type the command '''help space set space xtics'''. | || For more help on the formats of '''x tics''', type the command '''help space set space xtics'''. | ||
Line 275: | Line 285: | ||
|- | |- | ||
− | || | + | || Cursor on the terminal. |
|| It is also possible to add multiple '''functions''' on the same graph. | || It is also possible to add multiple '''functions''' on the same graph. | ||
|- | |- | ||
− | || Type '''plot sin (x), cos (x) ''' and press '''Enter'''. | + | || Type '''plot sin(x), cos (x) ''' and press '''Enter'''. |
|| To plot '''sin x '''and '''cos x '''on the same graph, separate the '''functions''' by a comma. | || To plot '''sin x '''and '''cos x '''on the same graph, separate the '''functions''' by a comma. | ||
+ | |||
Type '''plot space sin x comma cos x'''. | Type '''plot space sin x comma cos x'''. | ||
− | Make sure that the angle''' x''', is within parentheses . | + | |
+ | Make sure that the angle''' x''', is within parentheses. | ||
|- | |- | ||
Line 289: | Line 301: | ||
|- | |- | ||
− | || | + | || Cursor on the terminal. |
|| Next, we will add '''sin (x) plus cos (x) function''' to the same graph. | || Next, we will add '''sin (x) plus cos (x) function''' to the same graph. | ||
Line 298: | Line 310: | ||
|- | |- | ||
|| Point to the graph window. | || Point to the graph window. | ||
− | || Notice that all 3 '''functions''' are plotted together on the same graph | + | || Notice that all 3 '''functions''' are plotted together on the same graph window. |
+ | |||
Next, let’s learn how to get '''sin(x) data points''' into a file. | Next, let’s learn how to get '''sin(x) data points''' into a file. | ||
|- | |- | ||
− | || | + | || Cursor on the terminal. |
|| To get an '''ASCII column format''' output, '''set table command''' can be used. | || To get an '''ASCII column format''' output, '''set table command''' can be used. | ||
Line 321: | Line 334: | ||
Highlight second column. | Highlight second column. | ||
|| The first column is '''x data''' and the second column is '''y data'''. | || The first column is '''x data''' and the second column is '''y data'''. | ||
+ | |||
They are the '''points''' of '''sin''' '''x '''versus '''x''' graph. | They are the '''points''' of '''sin''' '''x '''versus '''x''' graph. | ||
Line 326: | Line 340: | ||
|| Press '''Ctrl+Alt+K''' | || Press '''Ctrl+Alt+K''' | ||
|| I will clear the terminal. | || I will clear the terminal. | ||
+ | |||
We can save the output as a text file. | We can save the output as a text file. | ||
Line 338: | Line 353: | ||
|| Then, type '''plot space sin(x)'''. | || Then, type '''plot space sin(x)'''. | ||
The output is saved to the file '''sin x dot txt'''. | The output is saved to the file '''sin x dot txt'''. | ||
+ | |||
The data is not seen on the screen. | The data is not seen on the screen. | ||
Line 349: | Line 365: | ||
|- | |- | ||
− | || Enter '''quit'''. | + | || Enter the command '''quit'''. |
|| Then type '''quit''' or '''q''' to quit '''gnuplot'''. | || Then type '''quit''' or '''q''' to quit '''gnuplot'''. | ||
Line 400: | Line 416: | ||
|- | |- | ||
|| '''Slide Number 11''' | || '''Slide Number 11''' | ||
− | ''' | + | '''Acknowledgement''' |
|| Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India. | || Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India. | ||
Latest revision as of 16:56, 18 October 2019
Visual Cue | Narration |
Slide Number 1
Title Slide Plotting functions |
Welcome to the tutorial on Plotting functions in gnuplot. |
Slide Number 2
Learning Objectives |
In this tutorial we will learn,
|
Slide Number 3
Learning Objectives |
|
Slide Number 4
System and Software Requirement |
To record this tutorial, I am using
|
Slide Number 5
Pre-requisites |
To follow this tutorial,
|
Press Ctrl + Alt + T . | Open a terminal by pressing Ctrl, Alt and T keys simultaneously. |
Type cd Desktop and press Enter. | A terminal opens.
Change directory to Desktop as seen. |
Type gnuplot and press Enter. | In the terminal, type gnuplot and press Enter. |
Hover mouse near gnuplot prompt. | The prompt changes to gnuplot prompt.
To execute a command in the terminal, press Enter after typing it. I will not mention this separately. |
Press Ctrl+Shift+K. | I will clear the terminal. |
Type plot sin(x) and Press Enter. | Now type plot space sin(x).
Note that angle x is within parentheses. |
Point to graphical window. | A graphical window with plot of sin(x) versus x appears on the screen. |
Hover mouse on graph, axes. | The limit of Y axis is from minus 1 to plus 1.
And X axis is from -10 to 10. |
Type set grid and press Enter. | Come back to the terminal and type the command set space grid. |
Type replot and press Enter | Then type replot to see the grid in the graph. |
Hold Ctrl and zoom in with mouse scroll. | Hold down the control key and move the mouse scroll wheel to zoom in and zoom out. |
Point to sin x and x. | Observe that sin x is zero when x is zero. |
Show zoom in and out. | Let us reset the limits of the axes as before. |
Type reset and press Enter. | To reset, type the command reset in the terminal, followed by replot. |
Type replot and press Enter. | Changes in the graph become visible only after executing the replot command. |
Point to the legend. | Notice that the legend is on the top right side in the graph.
It is not clear and intersects the graph. |
Point mouse on the legend. | Let's increase y axis range, so that the graph line does not run through the legend. |
Type set yrange [-2:2] and press Enter. | Type set space yrange space -2 colon 2 within square brackets. |
Type set xrange [-20:20] and
Press Enter. |
I will also change x axis range.
Enter command, set space xrange space -20 colon 20 within square brackets. |
Type replot and
Press Enter |
Type replot to see the updated graph. |
Cursor on the graph. | Now the changed graph limits are visible. |
Point to the legend. | The legend has moved up and does not intersect the data line anymore. |
Type set key top left and press Enter | Type set space key space top space left to move the legend to the top left side. |
Type replot and press Enter. | Do not forget to replot to see the result. |
Hover mouse next to axis font. | Next, let's make the axes fonts larger.
I want to set them at size 14 and in Verdana style. |
Type set tics font “Verdana, 14” and press Enter. | Type this command as shown here, to change the font size and style.
Replot to see the result. |
Hover mouse next to axis font. | Notice the larger font size in Verdana style. |
Type set xlabel 'x (angle)' font “Verdana, 14”
Press Enter |
Let's set x axis label as x angle.
Type the command as shown here. Here we are specifying the label, font style and size in a single command. |
Type set ylabel 'sin (x)' font “Verdana, 14” and press Enter. | To set y axis label as sin x, type the command, as shown here. |
Cursor on the terminal. | We are using the same font size and style for y axis too. |
Type replot and press Enter | Type replot and press Enter. |
Cursor on the graph. | Now, let’s see how to change the font in the legend. |
Type set key font ",16" and
Press Enter |
Type
set space key space font space within double quotes comma 16 . This command sets the legend font size to 16. |
Press Ctrl+Alt+K. | I will clear the terminal. |
Type help fonts and press Enter | To access help documentation on fonts, type help space fonts. |
Point mouse to cairo, gd and postscript | Help command returns with 3 subtopics cairo, gd and postscript. |
Type cairo and press Enter | I will type cairo to see the details and available options. |
Cursor on the terminal. | Similarly you may choose to use help for any command when using gnuplot. |
Mouse in Help section. | You may pause the video and read the details given in the help section. |
Press Ctrl C. | Once done, press Control and C keys to exit the help section. |
Ctrl+L in Ubuntu and Ctrl+Shift+K in Debian. | I will clear the screen.
I wish to add a title to my graph. |
Type set title 'My first gnuplot' and press Enter. | To add a title, type set title command, as shown here.
Followed by the title of the graph in single quotes. |
Type set title font "verdana, 18" and press Enter. | To set the title font, type the command as shown here. |
Point to x axis. | In the sinx versus x plot, dimensions of x axis is angle.
Hence we may want to label X axis in terms of angle, π. |
In the terminal, type,
set xtics ('-4{/Symbol p}' -4*pi,'-3{/Symbol p}' -3*pi,'-2{/Symbol p}' -2*pi, '-{/Symbol p}' -pi, 0, '{/Symbol p}' pi, '2{/Symbol p}' 2*pi, '3{/Symbol p}' 3*pi, '4{/Symbol p}' 4*pi,) and press Enter. |
To change X ticks to angle, type the following command as shown on the screen.
Here we are using the Greek alphabet pi and setting its position. |
Point mouse to ('2{/Symbol p}' and then to 2*pi. | This command places, Greek symbol pi, at the value of 3.14.
Label 2π is at position 6.28 on the X axis. |
Point to 2π and 4π. | Multiples of pi are placed at their respective positions. |
Type help set xtics and press Enter. | For more help on the formats of x tics, type the command help space set space xtics. |
Press Ctrl C. | Press Ctrl and C keys to exit the help section. |
Press Ctrl+Shift+K in Debian. | I will clear the terminal. |
Cursor on the terminal. | It is also possible to add multiple functions on the same graph. |
Type plot sin(x), cos (x) and press Enter. | To plot sin x and cos x on the same graph, separate the functions by a comma.
Type plot space sin x comma cos x. Make sure that the angle x, is within parentheses. |
Point to the graph window. | Notice that the two functions are plotted together now. |
Cursor on the terminal. | Next, we will add sin (x) plus cos (x) function to the same graph. |
Type plot sin(x), cos(x), sin(x) + cos(x) and press Enter. | For this, type plot space sin(x) comma cos(x) comma sin(x) plus cos(x) . |
Point to the graph window. | Notice that all 3 functions are plotted together on the same graph window.
Next, let’s learn how to get sin(x) data points into a file. |
Cursor on the terminal. | To get an ASCII column format output, set table command can be used. |
Type set space table and press Enter. | First type set space table. |
Enter command plot sin(x) and press Enter. | Then type plot space sin(x). |
Point to the screen | An x y column data for sin(x) is generated on the screen. |
Highlight first column.
Highlight second column. |
The first column is x data and the second column is y data.
They are the points of sin x versus x graph. |
Press Ctrl+Alt+K | I will clear the terminal.
We can save the output as a text file. |
Type set table "table-sinx.txt" and press Enter. | For this, type set space table space within double quotes sinx dot txt.
Here sinx dot txt is the output filename. |
Type plot sin(x) and press Enter. | Then, type plot space sin(x).
The output is saved to the file sin x dot txt. The data is not seen on the screen. |
Show screenshot of Desktop showing the file sinx.txt. | The file is stored in the directory from where we opened gnuplot in the terminal. |
Type unset table and press Enter. | Type unset space table to exit the tabular output mode. |
Enter the command quit. | Then type quit or q to quit gnuplot. |
Slide Number 6
Summary |
Let’s summarize.
In this tutorial,
We also
and
|
Slide Number 7
Assignment |
As an assignment, plot the following functions:
and
|
Show Completed assignment. | Your completed assignment should look like this. |
Slide Number 8
Spoken Tutorial Project |
This video summarises the Spoken Tutorial Project.
Please download and watch it. |
Slide Number 9
Spoken Tutorial workshops |
We conduct workshops using spoken tutorials and give certificates.
Please write to us. |
Slide Number 10
Forum for specific questions: |
Post your timed queries in the forum. |
Slide Number 11
Acknowledgement |
Spoken Tutorial Project is funded by NMEICT, MHRD, Government of India. |
This is Rani from IIT, Bombay. Thank you for joining. |