Python/C2/Embellishing-a-plot/English-timed
From Script | Spoken-Tutorial
| Time | Narration |
| 00:00 | Hello friends. Welcome to the tutorial on Embellishing a Plot. |
| 00:06 | At the end of this tutorial, you will be able to-
Modify the attributes of the plot -- color, line style, line width. Add a title to the plot with embedded LaTeX. Label X and Y axes. Add annotations to the plot. Set and Get the limits of axes. |
| 00:27 | So, before beginning this tutorial, we would suggest you to complete the tutorial on Using plot interactively. |
| 00:34 | So, let us start ipython with pylab loaded. Open the terminal and type: ipython hyphen pylab. |
| 00:48 | We shall first make a simple plot and start decorating it. |
| 00:54 | So, type: x is equal to linspace within brackets -2, 4, 20. |
| 01:06 | Then type plot(x, sin(x)). |
| 01:15 | As we can see, the default colour and the default thickness of the line is as decided by pylab. |
| 01:23 | Wouldn't it be nice if we could control these parameters in the plot? |
| 01:28 | This is possible by passing additional arguments to the plot command. |
| 01:33 | We shall first clear the figure and plot the same by passing the additional color argument. |
| 01:39 | Pass the argument 'r' for red color. |
| 01:44 | So, type clf, then plot within brackets x, sin(x), within single quotes r. |
| 02:13 | The same plot is seen in red color. |
| 02:16 | The thickness of the line can be altered by 'linewidth' argument. |
| 02:20 | So, type: plot within brackets x, cos(x), linewidth is equal to 2. |
| 02:34 | Now, a plot with line thickness 2 is produced. |
| 02:40 | Pause the video here and do this exercise and then resume the video. |
| 02:45 | Plot sin(x) in blue color along with linewidth as 3. |
| 02:53 | So, now switch to terminal for solution. A combination of color and line width would do the job for us. |
| 03:01 | So, type clf , then type plot x, sin(x), within single quotes b, linewidth is equal to 3. |
| 03:16 | To get the style of line as bunch of points not joined, pass the linestyle argument with or without color argument. |
| 03:25 | So, for that, type on the terminal clf, then type: plot x, sin(x), dot in single quotes. |
| 03:43 | We get a plot with only points. |
| 03:49 | To get the same plot in blue color, type: clf, then type plot x, sin(x),within single quotes b dot. |
| 04:02 | Other available options for passing arguments can be seen in the documentation of plot. |
| 04:07 | To see that, we can type in the terminal- plot then question mark. |
| 04:19 | So, you can actually go through the documentation. |
| 04:23 | So, pause the video here and do this exercise and then resume the video. |
| 04:28 | Plot the sine curve with green filled circles. |
| 04:33 | So, for solution, now switch to the terminal. We use the combination of linestyle and color. |
| 04:40 | So, type clf() then type plot within brackets x, cos(x), within single quotes go. |
| 04:56 | So, pause the video here. Try out the following exercise and resume the video. |
| 05:02 | Plot the curve of 'x' versus 'tan(x)', in red dash line and linewidth 3. |
| 05:13 | So, for solution, we will switch to terminal. |
| 05:18 | Here, we shall use a combination of linewidth argument and linestyle. |
| 05:22 | So, in terminal, you can type clf() then plot within brackets x, cos(x), within single quotes r hyphen hyphen. |
| 05:36 | Now that we know how to produce a bare minimum plot with color, style and thickness of our interest, we shall look at further decorating the plot. |
| 05:46 | Let us start with a plot for the function minus x squared plus 4x minus 5. |
| 05:52 | So, for that, you have to type: first clf then plot within brackets x, minus x star x plus 4 star x minus 5, 'r', linewidth is equal to 2. |
| 06:16 | As you can see, the figure does not have any description describing the plot. |
| 06:21 | To add a title to the plot to describe what the plot is, use the title command. |
| 06:26 | So, we can type in the terminal, title within brackets and double quotes Parabolic function - x squared plus 4x minus 5 |
| 06:42 | The figure now has a title. |
| 06:45 | But, it is not formatted and does not look clean. |
| 06:49 | It would look shabby if there were fractions and more complex functions like log and exp. |
| 06:57 | So, Wouldn't it be good if the title is seen in LaTeX like formatting? |
| 07:03 | This is possible by adding a '$' sign before and after the part of the string that should be in LaTeX style. |
| 07:10 | So, in the command you can type: title within brackets Parabolic function dollar sign minus x squared plus 4x minus 5 dollar sign. |
| 07:26 | As we can see, the polynomial is now formatted. |
| 07:30 | So, pause the video here. Try out the following exercise and resume the video. |
| 07:35 | Change the title of the figure such that the whole title is formatted in LaTeX style. |
| 07:41 | So, for that, switch to terminal for solution. |
| 07:45 | The solution is to enclose the whole string in between '$'. |
| 07:51 | So, you can type: title within brackets dollar sign Parabolic function -x squared plus 4x minus 5 dollar sign. |
| 08:01 | Although we have title, the plot is not complete without labeling x and y axes. |
| 08:05 | we shall label x-axis to "x" and y-axis to "f(x)". |
| 08:12 | So, for that, you can type in terminal: xlabel within brackets in double quotes x , and then ylabel in terminal within brackets in double quotes f of x. |
| 08:31 | As you can see, xlabel and ylabel commandd take a string as an argument. |
| 08:37 | xlabel sets the label to x-axis as 'x' and ylabel sets the name to the y-axis as 'f(x)'. |
| 08:50 | So, now pause the video here, try out the following exercise and resume the video. |
| 08:57 | Set the x and y labels as "x" and "f(x)" in LaTeX style. |
| 09:04 | Since we need LaTeX style formatting, all we have to do is enclose the string in between two dollar symbols ($). |
| 09:10 | So now, switch to terminal and type: xlabel within brackets in double quotes in between two dollar signs x and then type ylabel and again brackets double quotes in between two dollar signs f of x. |
| 09:31 | The plot is now almost complete except that the points are not named. |
| 09:37 | For example, the point (2, -1) is the local maxima. |
| 09:42 | We would like to name the point accordingly. |
| 09:47 | To do this, use the function annotate(). |
| 09:49 | So, for that, you can type in the terminal: annotate within brackets in double quotes local maxima comma xy is equal to within brackets 2 comma -1. |
| 10:04 | As you can see, the first argument to annotate command is the name we would like to mark the point as. And, the second argument is the co-ordinates of the point at which the name should appear. |
| 10:18 | It is a tuple containing two numbers. |
| 10:20 | The first is x co-ordinate and second is y co-ordinate. |
| 10:25 | Pause the video, do this exercise and then resume the video. |
| 10:30 | Make an annotation called "root", at the point (-4, 0). |
| 10:38 | What happens to the first annotation? |
| 10:43 | For that, switch to the terminal for the solution. |
| 10:46 | As we can see, every annotate command makes a new annotation on the figure. |
| 10:52 | Now, we have everything we need to decorate a plot but the plot would be incomplete if we can not set the limits of axes. |
| 11:01 | This can be done using the button provided on the plot window. |
| 11:06 | Else, limits also can be get and set from the terminal. |
| 11:13 | Use "xlim()" function and "ylim()" function to get the limits. |
| 11:17 | So, type in the terminal: annotate within brackets in double quotes root comma xy is equal to within brackets minus 4 comma 0. |
| 11:32 | xlim() function returns the current x-axis limits and ylim() function returns the current y-axis limits. |
| 11:41 | Set the limits of x-axis from -4 to 5 by giving command xlim(-4,5). So, in the terminal, you can type: xlim() and then again ylim () then type xlim(-4,5). |
| 12:12 | Similarly set the limits of y-axis appropriately. So you can type: ylim(-15,2). |
| 12:22 | Pause the video, do this exercise and then resume the video. |
| 12:27 | Set the limits of axes such that the area of interest is the rectangle (-1, -15) and (3, 0). |
| 12:37 | Switch to the terminal for the solution. |
| 12:40 | As we can see, the lower and upper limits of x-axis in the exercise are -1 and 3 respectively. |
| 12:46 | The lower and upper limits of y-axis are -15 and 0 respectively. |
| 12:51 | So, in the command we can type: xlim within brackets -1 comma 3 and ylim within brackets -15 comma 0. |
| 13:02 | This gives us the required rectangle. |
| 13:09 | This brings us to the end of this tutorial. In this tutorial, we have learnt to: Modify the attributes of plot like color, line width, line style by passing additional arguments. |
| 13:20 | Add title to a plot using 'title' command. |
| 13:24 | Incorporate LaTeX style formatting by adding a '$' sign before and after the part of the string. |
| 13:30 | Label x and y axes using xlabel() function and ylabel() commands. |
| 13:36 | Then, add annotations to a plot using annotate() command. |
| 13:38 | Get and set the limits of axes using xlim() and ylim() commands. |
| 13:46 | Here are some self assessment questions for you to solve. |
| 13:50 | 1. Draw a plot of cosine graph between '-2pi' to '2pi' with line thickness 4. |
| 13:57 | 2. Read through the documentation and find out, is there a way to modify the alignment of text in the command ylabel. |
| 14:05 | Yes or No are the options. |
| 14:07 | And the final question. How do you set the title as 'x^2-5x+6' in LaTex style formatting. |
| 14:15 | Now, the answers: |
| 14:20 | 1. In order to plot a cosine graph between the points '-2pi' and '2pi' with line thickness 4, we use the linspace and plot command as- x = linspace(-2*pi, 2*pi). |
| 14:41 | then plot(x, cos(x), linewidth=4) |
| 14:46 | And the second answer is No. We do not have an option to modify the alignment of text in the command ylabel. |
| 14:53 | Then the third and final one. To set the title in LaTex style formatting, we write the equation between two dollar signs as,
title("$x^2-5x+6$"). |
| 15:11 | Hope you have enjoyed this tutorial and found it useful. |
Contributors and Content Editors
Gaurav, Kavita salve, Minal, PoojaMoolya, Sandhya.np14, Sneha