python如何在一张图上显示多条曲线_[宜配屋]听图阁

该篇博客展示了如何使用Python的matplotlib库在一个图表中绘制多条曲线。通过读取不同文件的数据,创建了四条不同颜色的曲线,分别表示$DT$、$M_1$、$M_2$和$M_3$,并对每条曲线进行了详细的设置,如颜色、线宽、刻度和范围等。最后,博客通过保存为PNG图像展示了绘制的图形。
摘要由CSDN通过智能技术生成

如下所示:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值