Python - 从文本文件创建图形
Python中的Matplotlib库是一个非常流行的数据可视化库。可以从这个库中绘制不同的图形,如条形图、饼图、直方图、散点图、线图等。数据源可以是任何文件,如 CSV(逗号分隔文件)、文本文件等。在本文中, 图表是基于从文本文件中获取的数据创建的。在我们的程序中使用 Matplotlib 库之前,请确保它已安装在系统中。
需要的步骤:
- 创建一个扩展名为 .txt 的文本文件
- 在程序中使用与文本文件相同的名称
- 保存并运行程序以获取图形
示例 1:创建条形图。
这是“sample.txt”文件,其中包含学生数据以及学生姓名和他们在某个科目中的分数。
方法:
- 导入 matplotlib.pyplot 模块以进行可视化。
- 使用 open()函数以读取模式 'r' 打开文件。
- 使用 for 循环遍历文件中的每一行。
- 根据我们的可视化的需要,将文件中的每一行附加到列表中。
- 使用 plt.bar( )函数在 X 轴上绘制学生姓名,在 Y 轴上绘制学生标记。
下面是实现:
Python3
import matplotlib.pyplot as plt
names = []
marks = []
f = open('sample.txt','r')
for row in f:
row = row.split(' ')
names.append(row[0])
marks.append(int(row[1]))
plt.bar(names, marks, color = 'g', label = 'File Data')
plt.xlabel('Student Names', fontsize = 12)
plt.ylabel('Marks', fontsize = 12)
plt.title('Students Marks', fontsize = 20)
plt.legend()
plt.show()
Python3
import matplotlib.pyplot as plt
names = []
work = []
for line in open('sample.txt', 'r'):
Data = [i for i in line.split()]
names.append(Data[0])
New_Data= [ j for j in Data[1].split('%')]
work.append(New_Data[0])
colors = ['yellow', 'b', 'green', 'cyan','red']
# plotting pie chart
plt.pie(work, labels = names, colors = colors, startangle = 90,
shadow = True, radius = 1.2, autopct = '%1.1f%%')
plt.show()
Python3
import matplotlib.pyplot as plt
x = []
y = []
for line in open('sample.txt', 'r'):
lines = [i for i in line.split()]
x.append(lines[0])
y.append(int(lines[1]))
plt.title("Students Marks")
plt.xlabel('Roll Number')
plt.ylabel('Marks')
plt.yticks(y)
plt.plot(x, y, marker = 'o', c = 'g')
plt.show()
输出 :
示例 2:创建饼图。
让我们采用另一个文本文件 (sample.txt),其中包含公司员工在项目中完成的工作量。
程序方法:
- 导入 matplotlib.pyplot 模块以进行可视化。
- 使用文件 open()函数以读取模式 'r' 打开 sample.txt 文件。
- 使用 for 循环遍历文件中的每一行。
- 根据我们的可视化要求,将文件中的每一行附加到列表中。
- 使用 plt.pie()函数,绘制公司员工在项目中完成的工作的饼图。
下面是实现:
蟒蛇3
import matplotlib.pyplot as plt
names = []
work = []
for line in open('sample.txt', 'r'):
Data = [i for i in line.split()]
names.append(Data[0])
New_Data= [ j for j in Data[1].split('%')]
work.append(New_Data[0])
colors = ['yellow', 'b', 'green', 'cyan','red']
# plotting pie chart
plt.pie(work, labels = names, colors = colors, startangle = 90,
shadow = True, radius = 1.2, autopct = '%1.1f%%')
plt.show()
输出 :
示例 3:
此示例包含一个文本文件,其中包含学生名册编号及其在学科中的分数。
程序方法:
- 导入 matplotlib.pyplot 模块以进行可视化。
- 使用文件 open()函数以读取模式 'r' 打开文件。
- 使用 for 循环遍历文件中的每一行。
- 根据我们的可视化需要,将文件中的每一行附加到列表中。
- 使用 plt.plot( )函数,在 X 轴上绘制学生卷号,在 Y 轴上绘制学生分数。
- plt.yticks() 用于获取所有 Y 轴刻度。
- 最后,绘制包含学生卷号及其在学科中的分数的文本文件的线图。
下面是实现:
蟒蛇3
import matplotlib.pyplot as plt
x = []
y = []
for line in open('sample.txt', 'r'):
lines = [i for i in line.split()]
x.append(lines[0])
y.append(int(lines[1]))
plt.title("Students Marks")
plt.xlabel('Roll Number')
plt.ylabel('Marks')
plt.yticks(y)
plt.plot(x, y, marker = 'o', c = 'g')
plt.show()
输出 :