Creating a Plot Charts in Python with Matplotlib

Creating a Plot Charts in Python with Matplotlib

In this article, we created plots in Python with the matplotlib library. We discussed the concepts you need to know to understand how Matplotlib works, and set about creating and customizing real plots.

In this article, we created plots in Python with the matplotlib library. We discussed the concepts you need to know to understand how Matplotlib works, and set about creating and customizing real plots.

You generate a huge amount of data on a daily basis. A critical part of data analysis is visualization. A variety of graphing tools have developed over the past few years. Given the popularity of Python as a language for data analysis, this tutorial focuses on creating graphs using a popular Python libraryMatplotlib.

Matplotlib is a huge library, which can be a bit overwhelming for a beginner — even if one is fairly comfortable with Python. While it is easy to generate a plot using a few lines of code, it may be difficult to comprehend what actually goes on in the back-end of this library. This tutorial explains the core concepts of Matplotlib so that one can explore its full potential.

Let’s get started!

Prerequisites

The library that we will use in this tutorial to create graphs is Python’s matplotlib. This post assumes you are using version 3.0.3. To install it, run the following pip command in the terminal.

pip install matplotlib==3.0.3 

To verify the version of the library that you have installed, run the following commands in the Python interpreter.

>>> import matplotlib
>>> print(matplotlib.__version__)
'3.0.3'

If you are using Jupyter notebooks, you can display Matplotlib graphs inline using the following magic command.

%matplotlib inline 

Pyplot and Pylab: A Note

During the initial phases of its development, Mathworks’ MATLAB influenced John Hunter, the creator of Matplotlib. There is one key difference between the use of commands in MATLAB and Python. In MATLAB, all functions are available at the top level. Essentially, if you imported everthing from matplotlib.pylab, functions such as plot() would be available to use.

This feature was convenient for those who were accustomed to MATLAB. In Python, though, this could potentially create a conflict with other functions.

Therefore, it is a good practice to use the pyplot source.

from matplotlib import pyplot as plt 

All functions such as plot() are available within pyplot. You can use the same plot() function using plt.plot() after the import earlier.

Dissecting a Matplotlib Plot

The Matplotlib documentation describes the anatomy of a plot, which is essential in building an understanding of various features of the library.

The major parts of a Matplotlib plot are as follows:

  • Figure: The container of the full plot and its parts
  • Title: The title of the plot
  • Axes: The X and Y axis (some plots may have a third axis too!)
  • Legend: Contains the labels of each plot

Each element of a plot can be manipulated in Matplotlib’s, as we will see later.

Without further delay, let’s create our first plot!

Create a Plot

Creating a plot is not a difficult task. First, import the pyplot module. Although there is no convention, it is generally imported as a shorter form &mdash plt. Use the .plot() method and provide a list of numbers to create a plot. Then, use the .show() method to display the plot.

from matplotlib import pyplot as plt
plt.plot([0,1,2,3,4])
plt.show()

Notice that Matplotlib creates a line plot by default. The numbers provided to the .plot() method are interpreted as the y-values to create the plot. Here is the documentation of the [.plot()](https://matplotlib.org/3.1.0/api/_as_gen/matplotlib.pyplot.plot.html) method for you to further explore.

Now that you have successfully created your first plot, let us explore various ways to customize your plots in Matplotlib.

Customize Plot

Let us discuss the most popular customizations in your Matplotlib plot. Each of the options discussed here are methods of pyplot that you can invoke to set the parameters.

  • title: Sets the title of the chart, which is passed as an argument.
  • ylabel: Sets the label of the Y axis. xlabel can be used to set the label of the X axis.
  • yticks: Sets which ticks to show on the Y axis. xticks is the corresponding option for showing ticks on the X axis.
  • legend: Displays the legend on the plot. The loc argument of the .legend() method sets the position of the legend on the graph. The best option for the loc arguments lets Matplotlib decide the least intrusive position of the legend on the figure.

Let us use these options in our plot.

plt.plot([0,1,2,3,4], label='y = x')
plt.title('Y = X Straight Line')
plt.ylabel('Y Axis')
plt.yticks([1,2,3,4])
plt.legend(loc = 'best')
plt.show()

Here is the output of the code above. Notice that a title has appeared in the figure, the Y axis is labelled, the number of ticks on the Y axis are lesser than those in the X axis and a legend is shown on the top left corner.

After tinkering with the basic options of a plot, let’s create multiple plots in same figure. Let us try to create two straight lines in our plot.

To achieve this, use the .plot() method twice with different data sets. You can set the label for each line plot using the label argument of the .plot() method to make the code shorter.

plt.plot([0,1,2,3,4], label='y = x')
plt.plot([0,2,4,6,8], label='y = 2x')
plt.title('Two Straight Lines')
plt.legend(loc = 'best')
plt.show()

Next, let’s try to create a different type of plot. To create a scatter plot of points on the XY plane, use the .scatter() method.

plt.scatter([1,2,3,4], [5,1,4,2])
plt.show()

Here is what the scatter plot looks like.

A number of other plots can be created on Matplotlib. You can use the .hist() method to create a histogram. You can add multiple plots to a figure using the .subplot() method. You can even create a vector path using the [path](https://matplotlib.org/3.1.0/api/path_api.html#module-matplotlib.path) module of [pyplot](https://matplotlib.org/3.1.0/api/path_api.html#module-matplotlib.path).

Export Plots with Matplotlib

After exploring various options while creating plots with Matplotlib, the next step is to export the plots that you have created. To save a figure as an image, you can use the .savefig() method. The filename with the filepath should be provided as an argument to this method.

plt.savefig('my_figure.png') 

While the documentation for [savefig](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html) lists various arguments, the two most important ones are listed below:

  • dpi: This argument is used to set the resolution of the resulting image in DPI (dots per inch).
  • transparent: if set to True, the background of the figure is transparent.

While the code above saves a single figure, you may need to save multiple figures in a same file. Matplotlib allows you to save multiple figures to a single PDF file using the PdfPages class. The steps to create a PDF file with multiple plots are listed below:

  • First, import the PdfPages class from matplotlib.backends.backend_pdf and initialize it to an empty PDF file.
  • Initialize a figure object using the .figure() class and create the plot. Once the plot is created, use the .savefig() method of the PdfPages class to save the figure.
  • Once all figures have been added, close the PDF file using the .close() method.

To summarize the process, the following code snippet creates a PDF with the two figures that we created above.

from matplotlib.backends.backend_pdf import PdfPages
pdf = PdfPages('multipage.pdf')

fig1 = plt.figure()
plt.plot([0,1,2,3,4])
plt.close()
pdf.savefig(fig1)

fig2 = plt.figure()
plt.plot([0,2,4,6,8])
plt.close()
pdf.savefig(fig2)

pdf.close()
Conclusion

In this tutorial, we created plots in Python with the matplotlib library. We discussed the concepts you need to know to understand how Matplotlib works, and set about creating and customizing real plots. And we showed you how to export your plots for use in real-world scenarios, like reports and presentations.

How do you create plots with Python? Let us know in the comments below.

Python GUI Programming Projects using Tkinter and Python 3

Python GUI Programming Projects using Tkinter and Python 3

Python GUI Programming Projects using Tkinter and Python 3

Description
Learn Hands-On Python Programming By Creating Projects, GUIs and Graphics

Python is a dynamic modern object -oriented programming language
It is easy to learn and can be used to do a lot of things both big and small
Python is what is referred to as a high level language
Python is used in the industry for things like embedded software, web development, desktop applications, and even mobile apps!
SQL-Lite allows your applications to become even more powerful by storing, retrieving, and filtering through large data sets easily
If you want to learn to code, Python GUIs are the best way to start!

I designed this programming course to be easily understood by absolute beginners and young people. We start with basic Python programming concepts. Reinforce the same by developing Project and GUIs.

Why Python?

The Python coding language integrates well with other platforms – and runs on virtually all modern devices. If you’re new to coding, you can easily learn the basics in this fast and powerful coding environment. If you have experience with other computer languages, you’ll find Python simple and straightforward. This OSI-approved open-source language allows free use and distribution – even commercial distribution.

When and how do I start a career as a Python programmer?

In an independent third party survey, it has been revealed that the Python programming language is currently the most popular language for data scientists worldwide. This claim is substantiated by the Institute of Electrical and Electronic Engineers, which tracks programming languages by popularity. According to them, Python is the second most popular programming language this year for development on the web after Java.

Python Job Profiles
Software Engineer
Research Analyst
Data Analyst
Data Scientist
Software Developer
Python Salary

The median total pay for Python jobs in California, United States is $74,410, for a professional with one year of experience
Below are graphs depicting average Python salary by city
The first chart depicts average salary for a Python professional with one year of experience and the second chart depicts the average salaries by years of experience
Who Uses Python?

This course gives you a solid set of skills in one of today’s top programming languages. Today’s biggest companies (and smartest startups) use Python, including Google, Facebook, Instagram, Amazon, IBM, and NASA. Python is increasingly being used for scientific computations and data analysis
Take this course today and learn the skills you need to rub shoulders with today’s tech industry giants. Have fun, create and control intriguing and interactive Python GUIs, and enjoy a bright future! Best of Luck
Who is the target audience?

Anyone who wants to learn to code
For Complete Programming Beginners
For People New to Python
This course was designed for students with little to no programming experience
People interested in building Projects
Anyone looking to start with Python GUI development
Basic knowledge
Access to a computer
Download Python (FREE)
Should have an interest in programming
Interest in learning Python programming
Install Python 3.6 on your computer
What will you learn
Build Python Graphical User Interfaces(GUI) with Tkinter
Be able to use the in-built Python modules for their own projects
Use programming fundamentals to build a calculator
Use advanced Python concepts to code
Build Your GUI in Python programming
Use programming fundamentals to build a Project
Signup Login & Registration Programs
Quizzes
Assignments
Job Interview Preparation Questions
& Much More

Guide to Python Programming Language

Guide to Python Programming Language

Guide to Python Programming Language

Description
The course will lead you from beginning level to advance in Python Programming Language. You do not need any prior knowledge on Python or any programming language or even programming to join the course and become an expert on the topic.

The course is begin continuously developing by adding lectures regularly.

Please see the Promo and free sample video to get to know more.

Hope you will enjoy it.

Basic knowledge
An Enthusiast Mind
A Computer
Basic Knowledge To Use Computer
Internet Connection
What will you learn
Will Be Expert On Python Programming Language
Build Application On Python Programming Language

Tutorial How to write MatLab functions in Python

Tutorial How to write MatLab functions in Python

A tutorial on writing MatLab-like functions using the Python language and the NumPy library.

Overview

Recently in my work, I was re-writing algorithms developed in MatLab to Python, some functions are not so simple to adapt, especially the array functions that are called Cell Arrays.

MatLab has an API where you can call MatLab functions via Python. The idea, however, was not to use MatLab, but the same algorithm works the same way using only Python and NumPy, and the GNU Octave also has an API similar to that of MatLab.

To maintain compatibility, I have created functions with the same name that are used in MatLab that is encapsulated in a class called Precision.

1. Testing

Make the repository clone and follow the instructions in the README file:

Below I will show some examples, these are contained in the unit tests.

1.1 Start Stopwatch Time

Measuring the time spent in processing.

from precision import Precision

p = Precision()
p.tic()
for i in range(0, 1000): print(i)
p.toc()

The output will look something like this:

: > Elapsed time is 0:0:2 secounds.

1.2 Percentiles of a Data Set

This is used to get a percentile. In the example below, we are creating a range of ordinal dates by cutting 5% from the left and 5% from the right.

from datetime import datetime
from precision import Precision

p = Precision()
d = [i for i in p.dtrange(datetime(2018, 6, 12), 
                          datetime(2059, 12, 12), 
                          {'days':1, 'hours':2})]
x = [p.datenum(i.date()) for i in d]

x1 = p.prctile(x, 5)
x2 = p.prctile(x, 95)
r = (x2 - x1)

The output will look something like this:

5% lower: 737980.1
5% higher: 751621.9
delta: 13641.800000000047

1.3 Cell Array (cell2mat)

This converts a cell array to an ordinary array of the underlying data type.

from precision import Precision

p = Precision()
p.cell2mat([[1, 2], [3, 4]])
p.cell2mat('1 2; 3 4')

The output will look something like this:

matrix([[1, 2],
        [3, 4]])

1.4 Cell Array (num2cell)

Convert array to cell array with consistently sized cells.

import numpy
from precision import Precision

p = Precision()
x = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], numpy.int64)
p.num2cell(x)

The output will look something like this:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

1.5 Concatenate Strings (strcat)

This concatenates strings horizontally using strcat.

import pandas
from precision import Precision

p = Precision()
df = pandas.DataFrame(data={'A': [1, 2], 'B': [3, 4]}, dtype=numpy.int8)
p.strcat(df, 'B')

The output will look something like this:

['3', '4']

1.6 Histogram (histc)

This counts the number of values in x that are within each specified bin range. The input, binranges, determines the endpoints for each bin. The output, bincounts, contains the number of elements from x in each bin.

import numpy 
from precision import Precision

p = Precision()
v = numpy.array([[1.5, 2.0, 3], [4, 5.9, 6]], numpy.int64)
p.histc(v, numpy.amax(v) + 1)

The output will look something like this:

(array([1, 1, 1, 0, 1, 1, 1]), array([1., 1.71428571, 2.42857143, 
       3.14285714, 3.85714286, 4.57142857, 5.28571429, 6.]))

1.7 Unique

Looking for unique values in an array and returning the indexes, inverse, and counts.

import numpy 
from precision import Precision

p = Precision()
x = [0, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 7]
p.unique(numpy.array([x]))

The output will look something like this:

array([[array([0, 1, 2, 3, 4, 5, 6, 7]),
        array([[ 0,  1,  3,  4,  5,  7,  9, 10]]),
        array([0, 1, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 7]),
        array([1, 2, 1, 1, 2, 2, 1, 3])]], dtype=object)

1.8 Overlaps

Looking for the overlays between two arrays returning the index.

import numpy 
from precision import Precision

p = Precision()
x, y = p.overlap2d(numpy.array(['A','B','B','C']), 
                   numpy.array(['C','A','B','C','D']))

The output will look something like this:

(array([0, 1, 2, 3]), array([1, 2, 0, 3]))

Considerations

There are functions that are not exactly MatLab but will serve as support, I hope it can help someone. There is an interesting article in NumPy for users who are migrating from MatLab to Python.

Further Reading

MATLAB vs Python: Why and How to Make the Switch

Creating a Plot Charts in Python with Matplotlib

Python Tutorial - Python GUI Programming - Python GUI Examples (Tkinter Tutorial)

Essential Python 3 code for lists

*Originally published by Ederson Corbari   at *dzone.com

=============================================================

Thanks for reading :heart: If you liked this post, share it with all of your programming buddies! Follow me on Facebook | Twitter