Create custom plots in PyQt with PyQtGraph One of the major strengths of Python is in exploratory data science and visualization, using tools such as Pandas, numpy, sklearn for data analysis and matplotlib plotting. Plotly Python Open Source Graphing Library Plotly's Python graphing library makes interactive, publication-quality graphs. Examples of how to make line plots, scatter plots, area charts, bar charts, error bars, box plots, histograms, heatmaps, subplots, multiple-axes, polar charts, and bubble charts. Box Plot with plotly.express¶ Plotly Express is the easy-to-use, high-level interface to Plotly, which operates on a variety of types of data and produces easy-to-style figures. In a box plot created by px.box, the distribution of the column given as y argument is represented. Types of plots in Matplotlib In Python. Matplotlib provides a wide variety of methods and functions to generate different types of graphs. Let us have a look at a few of them:-Line plot: This is the simplest of all graphs. The plot method is used to plot a line graph. Compare seven libraries and APIs for plotting in Python, and see which best meets your needs.
In this tutorial, we will learn how to use Python library Matplotlib to plot multiple lines on the same graph. Matplotlib is the perfect library to draw multiple lines on the same graph as its very easy to use. Since Matplotlib provides us with all the required functions to plot multiples lines on same chart, it’s pretty straight forward.
In our earlier article, we saw how we could use Matplotlib to plot a simple line to connect between points. However in that article, we had used Matplotlib to plot only a single line on our chart. But the truth is, in real world applications we would often want to use Matplotlib to plot multiple lines on the same graph. This tutorial will explain how to achieve this.
But before we start, let us first create the dataset required for our tutorial.
Just like we did in our previous tutorial, we will simply generate our sample dataset using Python’s range function.
Now, if you are unfamiliar with Python’s built-in range function, take a look at this tutorial we wrote about it earlier.
So the code to generate multiple datasets with Python’s range function looks like this:
With this, we now have our sample dataset saved in the Python variable x. So its time to start using these values to plot our chart.
Wait a second! Using above code we got only one set of data. How are we going to use it to plot multiple lines on the same graph?
Well, the answer is that we can convert this single dataset into 3 different datasets by simply multiplying it with different values. So for example to create three different datasets we can do something like:
Cheeky huh?! 😉
So with our required datasets in place, we can start writing our code to draw different lines out of it. Here we go!
So these three lines of code is all that is required to draw 3 different lines on our graph using Matplotlib. But are you not so sure what these three lines are doing? Then let me explain the first line of code first. This should make the rest of the code clear as well, right?
Let us take a look at the first line of code again:
What we are doing over here is that we are calling Maplotlib’s plot function. The only job of this plot function is to draw or plot our data on the Matplotlib’s canvas!
But if you are not familiar with Matplotlib’s canvas, you should first read this article on Introduction to Matplotlib.
From this first line of code, you can also notice that we are passing two parameters to our plot function. The first parameter we pass is simply the value of x. This forms the x-axis values for our plot. On the other hand, the second parameter forms the y-axis values of our plot. But what is exactly happening here? Why is the second parameter looking so complicated?
What we are doing over here is that we are looping over each value of x and multiplying it by 1. So this is the final value that we use for the y-axis of the plot.
Now if you are able to keep up with me so far, then you will know what the last two lines of code does as well, right? You can see that they also do the same thing as our first line of code. The only difference is that they multiply the y-axis values with different co-efficients.
So far we in the code generated our sample dataset and drawn three lines using it on the same graph. But if you have followed along with me and typed in the code, you realize that no image is yet displayed. But why so? The reason is that we might have drawn the image on Matplotlib canvas, but we haven’t displayed it yet. In order to display our final output image, we still need to call one another function:
This Matplotlib’s show function is the one that is responsible to display the output on our screen. This function does not take any parameters as seen. But calling this in your code is a must if you want to display the graph on screen.
So with just these 6 lines of code, we have been able to make Matplotlib plot multiple lines on same graph.
Here is the final output image drawn using the above piece of code.
One another interesting thing for us to note here is that Matplotlib has plot these multiple lines on the same graph using different colors. This is a built-in feature found in Matplotlib. If it needs to plot more than one line on the same graph, it automatically chooses different colors for different lines! In this way, we will be able to differentiate different datasets represented on a single chart. Isn’t it cool & beautiful? 😉
So this is how we can make Matplotlib plot multiple lines on the same graph. By using Python’s Matplotlib and writing just 6 lines of code, we can get this result.
Here is the final summary of all the pieces of code put together in a single file:
Matplotlib is an easy to use Python visualization library that can be used to plot our datasets. We can use many different types of datasets and Matplotlib will still be to handle them. By familiarizing ourselves with this wonderful Python library package, we are adding new tool into our arsenal.
Hope this tutorial was easy enough for you to understand. If you have any queries on Matplotlib or Python in general, do not forget to comment below. I will try my best to provide you with all the helpful answers I can give. With this, I will conclude this tutorial on Matplotlib. Until next time, ciao!
The plot()
function is used to draw points (markers) in a diagram.
By default, the plot()
function draws a line from point to point.
The function takes parameters for specifying points in the diagram.
Parameter 1 is an array containing the points on the x-axis.
Parameter 2 is an array containing the points on the y-axis.
If we need to plot a line from (1, 3) to (8, 10), we have to pass two arrays [1, 8] and [3, 10] to the plot function.
Draw a line in a diagram from position (1, 3) to position (8, 10):
The x-axis is the horizontal axis.
The y-axis is the vertical axis.
To plot only the markers, you can use shortcut string notation parameter 'o', which means 'rings'.
Draw two points in the diagram, one at position (1, 3) and one in position (8, 10):
You will learn more about markers in the next chapter.
You can plot as many points as you like, just make sure you have the same number of points in both axis.
Draw a line in a diagram from position (1, 3) to (2, 8) then to (6, 1) and finally to position (8, 10):
If we do not specify the points in the x-axis, they will get the default values 0, 1, 2, 3, (etc. depending on the length of the y-points.
So, if we take the same example as above, and leave out the x-points, the diagram will look like this:
Plotting without x-points:
The x-points in the example above is [0, 1, 2, 3, 4, 5].