How to plot data from a text file using Matplotlib?

13 Jan, 2022
Perquisites: Matplotlib, NumPy
In this article, we will see how to load data files for Matplotlib. Matplotlib is a 2D Python library used for Date Visualization. We can plot different types of graphs using the same data like:
Bar Graph
Line Graph
Scatter Graph
Histogram Graph and many.
In this article, we will learn how we can load data from a file to make a graph using the “Matplotlib” python module. Here we will also discuss two different ways to extract data from a file.  In the First Module, we will discuss extracting data using the inbuild CVS module and In the Second Module, we will use a third-party “NumPy” Module to extract data from a file. 
Requirement:
A text file from where data should be extracted.  Let the file name = GFG.txt
Method 1: In this method, we will extract data using CSV module to load CVS files.  Step 1:
Import all required modules.
Python3
import matplotlib.pyplot as pltimport csv
Step 2: Create X and Y variables to store X-axis data and Y-axis data from a text file.  
Python3
import matplotlib.pyplot as pltimport csv X = []Y = []
Step 3: Open text file in read mode. Pass ‘file_name’ and delimiter in reader function and store returned data in a new variable. 
Python3
import matplotlib.pyplot as pltimport csv X = []Y = [] with open('GFG.txt', 'r') as datafile:    plotting = csv.reader(datafile, delimiter=',')
Step 4: Create a loop, that will append the data in X and Y variable.
Python3
import matplotlib.pyplot as pltimport csv X = []Y = [] with open('GFG.txt', 'r') as datafile:    plotting = csv.reader(datafile, delimiter=',')         for ROWS in plotting:        X.append(int(ROWS[0]))        Y.append(int(ROWS[1]))
Step 5: Now pass all the parameter in their respective functions.
Python3
import matplotlib.pyplot as pltimport csv X = []Y = [] with open('GFG.txt', 'r') as datafile:    plotting = csv.reader(datafile, delimiter=',')         for ROWS in plotting:        X.append(int(ROWS[0]))        Y.append(int(ROWS[1])) plt.plot(X, Y)plt.title('Line Graph using CSV')plt.xlabel('X')plt.ylabel('Y')plt.show()
Output:
Method 2: In this method, we will extract data using numpy module to load files. Here you will notice that Step 2,3 and 4 are replaced by np.loadtxt( )
Python3
import matplotlib.pyplot as pltimport numpy as np X, Y = np.loadtxt('GFG.txt', delimiter=',', unpack=True) plt.bar(X, Y)plt.title('Line Graph using NUMPY')plt.xlabel('X')plt.ylabel('Y')plt.show()
 
 
Output:
 
 
You can also try other different graphs by just changing 1 line
 
plt.plot(X,Y) to plt.scatter(X,Y) or plt.plot(X,Y)
Using plt.bar()
 
Python3
import matplotlib.pyplot as pltimport numpy as np X, Y = np.loadtxt('GFG.txt', delimiter=',', unpack=True) plt.plot(X, Y)plt.title('Line Graph using NUMPY')plt.xlabel('X')plt.ylabel('Y')plt.show()
Output:
Using plt.scatter()
Python3
import matplotlib.pyplot as pltimport numpy as np X, Y = np.loadtxt('GFG.txt', delimiter=',', unpack=True) plt.scatter(X, Y)plt.title('Line Graph using NUMPY')plt.xlabel('X')plt.ylabel('Y')plt.show()
 
 
Output:
 
 
adnanirshad158
Picked
Python-matplotlib
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.