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

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

相关文章

go和python变量赋值遇到的一个问题

平时写得多的是python,最近看了一点go,今天碰到了一个问题,和大家分享一下 package main import "fmt" type student struct {...

python为tornado添加recaptcha验证码功能

复制代码 代码如下:    from urllib.request import urlopen    from urllib...

详解使用Python处理文件目录的相关方法

所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。 mkdir()方法 可以使用os模块的mkdir()方法在当前目录下创建新...

python字符串替换第一个字符串的方法

Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 # 例1:字符串截取 str...

PyTorch搭建多项式回归模型(三)

PyTorch搭建多项式回归模型(三)

PyTorch基础入门三:PyTorch搭建多项式回归模型  1)理论简介 对于一般的线性回归模型,由于该函数拟合出来的是一条直线,所以精度欠佳,我们可以考虑多项式回归来拟合更...