📜  如何使用 Matplotlib 从文本文件中绘制数据?

📅  最后修改于: 2022-05-13 01:54:58.253000             🧑  作者: Mango

如何使用 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()

输出:

加载文件 matpotlib 栏



您还可以通过更改 1 行来尝试其他不同的图表

  • 使用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()

输出:

加载文件 matplotlib 行

  • 使用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()

输出:

加载文件 matplotlib 分散