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 Socket编程入门教程

这是用来快速学习 Python Socket 套接字编程的指南和教程。Python 的 Socket 编程跟 C 语言很像。 Python 官方关于 Socket 的函数请看 http:...

Python OpenCV 使用滑动条来调整函数参数的方法

Python OpenCV 使用滑动条来调整函数参数的方法

引言 在观察OpenCV中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下。为了更便捷的观察参数变化时带来的处理效果改变 可以使用...

详解pyqt5 动画在QThread线程中无法运行问题

详解pyqt5 动画在QThread线程中无法运行问题

自己做了一个tcp工具,在学习动画的时候踩了坑,需求是根据上线变绿色,离线变灰色,如果连接断开了,则变为灰色 问题现象: 可以看到点击“连接”,“离线”的时候动画是正常的,但是当tcp...

基于DATAFRAME中元素的读取与修改方法

DATAFRAME中使用iat[1,0]和iloc[0,1]对元素进行修改。 a = [("hahaha",1),("lalala",2),("cacaca",6)] b = pad...

pycharm 在windows上编辑代码用linux执行配置的方法

pycharm 在windows上编辑代码用linux执行配置的方法

如下所示: 如上图所示点击右上角 ‘configure python interpreter' 弹窗如上图所示,选择项目, ‘project interpreter'  对应...