matplotlib.pyplot绘制图像之同一图中多条曲线对比

绘制sinx和cosx

# -*- coding:utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * (np.pi))  #numpy.linspace(开始,终值(含终值)),个数)
y1 = np.sin(x)
y2 = np.cos(x)

#画图
plt.title('Compare cosx with sinx')  #标题
#plt.plot(x,y)
#常见线的属性有:color,label,linewidth,linestyle,marker等
plt.plot(x, y1, color='cyan', label='sinx')
plt.plot(x, y2, 'b', label='cosx')#'b'指:color='blue'
plt.legend()  #显示上面的label
plt.xlabel('x')
plt.ylabel('f(x)')
plt.axis([0, 2*np.pi, -1, 1])#设置坐标范围axis([xmin,xmax,ymin,ymax])
#plt.ylim(-1,1)#仅设置y轴坐标范围
plt.show()

补充一个设置坐标轴间隔的代码,这里未展示效果:

from matplotlib.pyplot import MultipleLocator#设置坐标轴刻度间

x_major_locator= MultipleLocator(31)#把x轴的刻度间隔设置为31,并存在变量里
y_major_locator= MultipleLocator(500000)#把y轴的刻度间隔设置为500000,并存在变量里
ax= plt.gca()#ax为两条坐标轴的实例
ax.xaxis.set_major_locator(x_major_locator)#把x轴的主刻度设置为31的倍数
ax.yaxis.set_major_locator(y_major_locator)#把y轴的主刻度设置为500000的倍数

结果

在这里插入图片描述

python中的小tips

  • np.arrage():开始值、终值和步长创建表示等差数列的一维数组。得到的结果数组不包含终值。
  • np.linspace():开始值、终值和元素个数创建表示等差数列的一维数组,可以通 过endpoint参数指定是否包含终值,默认值为True,即包含终值。
  • π:np.pi

一些属性

线的颜色:

‘b’ blue 
‘g’ green 
‘r’ red 
‘c’ cyan 
‘m’ magenta 
‘y’ yellow 
‘k’ black 
‘w’ white

线的形状:

‘-’ solid line style 
‘–’ dashed line style 
‘-.’ dash-dot line style 
‘:’ dotted line style

点的标记:

‘.’ point marker 
‘,’ pixel marker 
‘o’ circle marker 
‘v’ triangle_down marker 
‘^’ triangle_up marker 
‘<’ triangle_left marker 
‘>’ triangle_right marker 
‘1’ tri_down marker 
‘2’ tri_up marker 
‘3’ tri_left marker 
‘4’ tri_right marker 
‘s’ square marker 
‘p’ pentagon marker 
‘*’ star marker 
‘h’ hexagon1 marker 
‘H’ hexagon2 marker 
‘+’ plus marker 
‘x’ x marker 
‘D’ diamond marker 
‘d’ thin_diamond marker 
‘|’ vline marker 
‘_’ hline marker
### 使用Matplotlib同一形窗口绘制多条曲线 为了实现同一形窗口内绘制多条曲线,在Python中可以利用`matplotlib`库完成此操作。下面是一个简单的例子来展示如何在一个中画出两条不同的正弦波曲线[^1]。 ```python import numpy as np import matplotlib.pyplot as plt # 计算两个不同频率的正弦曲线上点的x和y坐标 x = np.arange(0, 3 * np.pi, 0.1) y_sin = np.sin(x) y_cos = np.cos(x) # 绘制第一条曲线(sin) plt.plot(x, y_sin, label='sine') # 绘制第二条曲线(cos),并指定颜色和线型 plt.plot(x, y_cos, 'r--', label='cosine') # 添加例说明每条线代表什么 plt.legend() # 显示表 plt.show() ``` 对于熟悉MATLAB环境的人来说,上述方法同样适用于MATLAB中的绘命令[^2]。在MATLAB里可以通过调用多次`plot()`函数并在最后加上`hold on;`语句保持当前图像不被覆盖从而实现在同一个figure里面显示多个数据集的效果;也可以一次性传递多个参数给单次`plot()`调用来达到相同目的。 例如: ```matlab % 定义变量 x = linspace(0, 3*pi); y1 = sin(x); % 正弦波 y2 = cos(x); % 余弦波 % 创建新形窗口并设置属性 figure; % 同一窗口下分别绘制两组数据,并定义样式 plot(x,y1,'b-', x,y2,'g-.'); hold on; legend('Sine Wave','Cosine Wave'); title('Plotting Multiple Curves in One Figure Window'); xlabel('X-axis Label'); ylabel('Y-axis Label'); grid minor; ``` 这段代码展示了怎样通过一次性的`plot()`函数调用同时绘制两种类型的波形——正弦波与余弦波,并且设置了线条的颜色、风格以及添加了网格辅助阅读表信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值