如何使用 Matplotlib 从文本文件中绘制数据?
附加条件: Matplotlib、NumPy
在本文中,我们将看到如何为Matplotlib加载数据文件。 Matplotlib 是一个用于日期可视化的 2D Python库。我们可以使用相同的数据绘制不同类型的图形,例如:
- 条状图
- 线形图
- 散点图
- 直方图 Graph 和许多。
在本文中,我们将学习如何使用“Matplotlib” Python模块从文件加载数据以制作图形。在这里,我们还将讨论从文件中提取数据的两种不同方法。在第一个模块中,我们将讨论使用 inbuild CVS模块提取数据,在第二个模块中,我们将使用第三方“NumPy”模块从文件中提取数据。
要求:
应从中提取数据的文本文件。让文件名=GFG.txt
方法一:在此方法中,我们将使用 CSV 模块提取数据以加载 CVS 文件。第1步:
导入所有需要的模块。
Python3
import matplotlib.pyplot as plt
import csv
Python3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
Python3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
Python3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
for ROWS in ploting:
X.append(int(ROWS[0]))
Y.append(int(ROWS[1]))
Python3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
for ROWS in ploting:
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()
Python3
import matplotlib.pyplot as plt
import 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()
Python3
import matplotlib.pyplot as plt
import 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()
Python3
import matplotlib.pyplot as plt
import 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()
步骤 2:创建 X 和 Y 变量以存储文本文件中的 X 轴数据和 Y 轴数据。
蟒蛇3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
第 3 步:以读取模式打开文本文件。在 reader函数传递 'file_name' 和分隔符,并将返回的数据存储在一个新变量中。
蟒蛇3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
第 4 步:创建一个循环,将数据附加到 X 和 Y 变量中。
蟒蛇3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
for ROWS in ploting:
X.append(int(ROWS[0]))
Y.append(int(ROWS[1]))
第 5 步:现在在各自的函数中传递所有参数。
蟒蛇3
import matplotlib.pyplot as plt
import csv
X = []
Y = []
with open('GFG.txt', 'r') as datafile:
ploting = csv.reader(datafile, delimiter=',')
for ROWS in ploting:
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()
输出:
方法二:在这种方法中,我们将使用 numpy 模块提取数据来加载文件。这里你会注意到第 2,3 和 4 步被np.loadtxt()代替
蟒蛇3
import matplotlib.pyplot as plt
import 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()
输出:
您还可以通过更改 1 行来尝试其他不同的图表
plt.plot(X,Y) to plt.scatter(X,Y) or plt.plot(X,Y)
- 使用plt.bar()
蟒蛇3
import matplotlib.pyplot as plt
import 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()
输出:
- 使用plt.scatter()
蟒蛇3
import matplotlib.pyplot as plt
import 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()
输出: