0%

python画图

用C++编程的出来了一大堆结果,虽然没有必要,但是还是想用python画个图。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import matplotlib.pyplot as plt

#导入数据
x_axix=[]
m1=[]
m2=[]
f = open('E:\桌面\时光以南\Parallel并行\实验\work1\multi1.txt') # 打开数据文件文件
lines = f.readlines() # 把全部数据文件读到一个列表lines中
A_row = 0 # 表示矩阵的行,从0行开始
for line in lines: # 把lines中的数据逐行读取出来
list = line.strip('\n').split(' ') # 处理逐行数据:strip表示把头尾的'\n'去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中
x_axix.append(list[0])
m1.append(list[1])
A_row += 1 # 然后方阵A的下一行接着读
f.close()

f = open('E:\桌面\时光以南\Parallel并行\实验\work1\multi2.txt') # 打开数据文件文件
lines = f.readlines() # 把全部数据文件读到一个列表lines中
A_row = 0 # 表示矩阵的行,从0行开始
for line in lines: # 把lines中的数据逐行读取出来
list = line.strip('\n').split(' ') # 处理逐行数据:strip表示把头尾的'\n'去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中
m2.append(list[1])
A_row += 1 # 然后方阵A的下一行接着读
f.close()

#开始画图
plt.title('Result Analysis')
plt.plot(x_axix, m1, color='red', label='multi1')
plt.plot(x_axix, m2, color='green', label='multi2')

plt.legend() # 显示图例
plt.xlabel('N')
plt.ylabel('time')
plt.show()

有一说一,python画图我大概是不会了,我画出来的图是真的丑。

在这里插入图片描述

所以为什么放着MATLAB不用呢?

1
2
3
4
5
6
7
8
a = importdata('E:\桌面\时光以南\Parallel并行\实验\work1\multi1.txt');
x = a(:,1);
y = a(:,2);
plot(x,y,'r');hold on;
b = importdata('E:\桌面\时光以南\Parallel并行\实验\work1\multi2.txt');
m = b(:,1);
n = b(:,2);
plot(m,n,'g');hold off;

代码很简单,对图标的修改也是图形化操作,哦了。

明天去学一下字符串匹配算法吧。