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设计】。

相关文章

基于python进行抽样分布描述及实践详解

基于python进行抽样分布描述及实践详解

本次选取泰坦尼克号的数据,利用python进行抽样分布描述及实践。 备注:数据集的原始数据是泰坦尼克号的数据,本次截取了其中的一部分数据进行学习。Age:年龄,指登船者的年龄。Fare...

.dcm格式文件软件读取及python处理详解

要处理一些.DCM格式的焊接缺陷图像,需要读取和显示.dcm格式的图像。通过搜集资料收集到一些医学影像,并通过pydicom模块查看.dcm格式文件。 若要查看dcm格式文件,可下Ech...

Python3使用SMTP发送带附件邮件

Python3使用SMTP发送带附件邮件

一、设置开启SMTP服务并获取授权码 可以参考第一篇文章,这里不再赘述:【一】/post/142220.htm 二、使用Python3 发送带附件的邮件 0.使用的环境为: Pytho...

详解如何管理多个Python版本和虚拟环境

多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4。 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影...

python禁用键鼠与提权代码实例

要求 利用python实现禁用键盘鼠标 思路 经过查阅资料目前最好的办法是采用ctypes中的dll文件进行编写 from ctypes import * improt time...