python 实现将多条曲线画在一幅图上的方法

yipeiwu_com6年前Python基础

如下所示:

# -*- coding: utf-8 -*-
"""
Created on Thu Jun 07 09:17:40 2018

@author: yjp
"""
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.ticker import MultipleLocator, FormatStrFormatter


y0 = []
y1 = []
y2 = []
y3 = []
y4 = []

f = open("y0.txt") 
lines = f.readlines() 
for li in lines: 
  y0.append(li)

f = open("y1.txt") 
lines = f.readlines() 
for li in lines:  
  y1.append(li)

f = open("y2.txt") 
lines = f.readlines() 
for li in lines:  
  y2.append(li)

f = open("y3.txt") 
lines = f.readlines() 
for li in lines:  
  y3.append(li)

f = open("y4.txt") 
lines = f.readlines() 
for li in lines: 
  y4.append(li)

font1 = {'family' : 'Times New Roman', 
'weight' : 'normal', 
'size'  : 9, 
} 

font2 = {'family' : 'Times New Roman', 
'weight' : 'normal', 
'size'  : 14, 
} 

figsize = 8, 9
plt.subplots(figsize=figsize)                # 设定整张图片大小

ax1 = plt.subplot(4, 1, 1)
ax1.yaxis.set_major_locator(MultipleLocator(15))       # 设定y轴刻度间距
#第一条线
x = range(0, len(y0))
plt.plot(x, y0, color='black', label='$DT$', linewidth=0.8) # 绘制,指定颜色、标签、线宽,标签采用latex格式
plt.ylim(-90, -20)                      # 设定y轴范围
hl=plt.legend(loc='upper right', prop=font1, frameon=False)                # 绘制图例,指定图例位置
#set(hl,'Box','off');
#第二条曲线
x = range(0, len(y1))
plt.plot(x, y1, color='red', label='$M_1$', linewidth=0.8)
plt.legend(loc='upper right', prop=font1, frameon=False)                # 绘制图例,指定图例位置
plt.xticks([])                        # 去掉x坐标轴刻度
plt.xlim(0, 580)                       # 设定x轴范围

ax2 = plt.subplot(4, 1, 2)
ax2.yaxis.set_major_locator(MultipleLocator(15))
x = range(0, len(y0))
plt.plot(x, y0, color='black', label='$DT$', linewidth=0.8)
plt.ylim(-90, -20)
hl=plt.legend(loc='upper right', prop=font1, frameon=False)
#set(hl,'Box','off');
x = range(0, len(y2))
plt.plot(x, y2, color='red', label='$M_2$', linewidth=0.8)
plt.legend(loc='upper right', prop=font1, frameon=False)
plt.ylabel("strength/dBm", font2)
plt.xticks([])
plt.xlim(0, 580)

ax3 = plt.subplot(4, 1, 3)
ax3.yaxis.set_major_locator(MultipleLocator(15))
x = range(0, len(y0))
plt.plot(x, y0, color='black', label='$DT$', linewidth=0.8)
hl=plt.legend(loc='upper right', prop=font1, frameon=False)
#set(hl,'Box','off');
plt.ylim(-90, -20)
x = range(0, len(y3))
plt.plot(x, y3, color='red', label='$M_3$', linewidth=0.8)
plt.legend(loc='upper right', prop=font1, frameon=False)
plt.xticks([])
plt.xlim(0, 580)

ax4 = plt.subplot(4, 1, 4)
ax4.yaxis.set_major_locator(MultipleLocator(15))
ax4.xaxis.set_major_locator(MultipleLocator(50))
x = range(0, len(y0))
plt.plot(x, y0, color='black', label='$DT$', linewidth=0.8)
plt.ylim(-90, -20)
hl=plt.legend(loc='upper right', prop=font1, frameon=False)
#set(hl,'Box','off');
x = range(0, len(y4))
plt.plot(x, y4, color='red', label='$M_4$', linewidth=0.8)
plt.legend(loc='upper right', prop=font1, frameon=False)
plt.xlabel("index of grids in path", font2)
plt.xlim(0, 580)

plt.savefig("1.png", dpi=600))

plt.show()

以上这篇python 实现将多条曲线画在一幅图上的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python2.7 json 转换日期的处理的示例

python2.7中 集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日期格式,这时候,会报一个错: TypeError: datetim...

Python发送email的3种方法

python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,...

在Pycharm中设置默认自动换行的方法

如下所示: 只对当前文件有效的操作: 菜单栏->View -> Active Editor -> Use Soft Wraps; 如果想对所有文件都有效,就要在sett...

python字符串和常用数据结构知识总结

python字符串和常用数据结构知识总结

使用字符串 第二次世界大战促使了现代电子计算机的诞生,当初的想法很简单,就是用计算机来计算导弹的弹道,因此在计算机刚刚诞生的那个年代,计算机处理的信息主要是数值,而世界上的第一台电子计...

Python二进制串转换为通用字符串的方法

一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理。 Python代码的编码规则为UTF-8。在读入时,文件的每行是二进制串,形如: b'heroes...