Now, we arrived my most favorite part - plotting.
work hard on procssing and saving your data, the most exciting part is
to visualize your data and observe the trend!! We need figures to
present our rearch to other people. We did extensive amount of work in
MatLab to plot our data in the 1D, 2D, and 3D manner. Now, it is the
turn of Python!!
The pip command is a tool for
installing and managing Python packages, such as those found in the
Python Package Index. It's a replacement for easy_install.
The function package for plotting in Python.
If you are using Spyder from Anaconda, you should have matplotlib and
pip already in your system.
You can check it in this way:
If you have these two packages installed already, you can skip all the
steps showed in the Python Crash Course textbook.
Now, let's directly dive into it.
2. Plotting simple graphs
Let's plot a simple 1D vector:
Change the label type and graph thickness and font size: It looks much
better after this modification.
But now that we can read the chart better, we see that the data is not
plotted correctly. Notice at the end of the graph that the square of
4.0 is shown as 25! Let’s fx that.
Plotting and Styling Individual Points with scatter()
it’s useful to be able to plot and style individual points based on
certain characteristics. For example, you might plot small values in
oneGenerating Data 327 color and larger values in a different color.
You could also plot a large data set with one set of styling options
and then emphasize individual points by replotting them with different
single point, use the scatter() function. Pass the single (x, y) values
of the point of interest to scatter(), and it should plot those values:
style the output to make it more interesting. We’ll add a title, label
the axes, and make sure all the text is large enough to read:
4. Plotting a series of
points with scatter()
just showed you two different plots above. If you have
'plt.scatter(x_value, y_value)' then you will get the figure at the
bottom, if you use 'plt.scatter(x_value, y_value, s=100)' you will get
the one on the top. So 's=100' defines the size of the scatter points.
This is amazing that you can create a series of y values by 'x**2 for x
You can remove the edge of the scatter points :
plt.scatter(x_value, y_value, edgecolor='none',
Defining custom colors:
This is even accepting RGB color schemes.
Change the marker style:
The marker styles can be used in Python:
A snapshot of the table:
5. Plot multiple curves
in one figure.
Add a legend to it:
Plot the scatter points and the line in the same figure:
is the example of a sin() function applied to x*2. Let's play around
with this figure using the subplot function in Python:
Let's plot it in the regular way first:
Then apply 'plt.subplots()'.
This returns two arguments: fig, and axes. They are:
1. fig : Figure
axes: Axes object or array of Axes objects. axes can be either a
single Axes object or an array of Axes objects if more than one subplot
was created. The dimensions of the resulting array can be controlled
with the squeeze keyword, see above.
two subplots and share the Y axis:
When have 'sharey = True' included, the two subplots will share the Y
The '1, 2' in 'plt.subplots(1,2,sharey=True)' means 1 row and 2 columns
of figures will be plotted.
through the returned array
All the subplots are accessible. This enables so many capabilities. You
can change any property you like in each subplot:
Let's modify the sharing axis thing step by step:
1) Share X axis with all figures in the same column:
2) At the same time, share Y axis with all figures in the same row.
3) To make it simple, you can also use 'all':
It is the same as:
use 'sharex=Ture, sharey=True' more often. The subplots always have the
same Y and X axis. We usually put subfigures in one window to compare
the trend, so it is making sense to unify the X and Y axis.
One more thing:
Add a legend to it:
cos(x) and sin(x) in the same figure. The range of x is 0:2*pi and
there are 40 dots are being plotted. Your plot should have:
• Two different markers for the two functions
• Two different colors for the two lines
• Have appropriate labels for both X and Y axis
• A modified line width
• Have legends to indicate the two curves are cos(x) and sin(x)
2. Use the subplot function in matplotlib to plot the following four functions in the same figure but different subplots.
sin(x+pi/2), 2*sin(2*x+pi/4), 0.5*cos(x+pi/4), and 0.8*sin(x+pi/2).
Modify the axis, labels, fonts, line width, etc to make your figure presentable.
Points will be taken off if the plotted figure is in bad quality.