Python matplotlib:如何在多个图中防止轴自动缩放?

时间:2017-03-10 09:33:26

标签: python matplotlib

我是SO和Python的初学者。

使用Python和matplotlib我想创建一个这样的图:

a |--..---/\___----\/\.../----\....|
b |---./--\_---..                  |
  |________________________________|
t  1  2  3  4  5  6  7  8  9  10 11

信号(a)和(b)具有相同的频率但长度不同。 目标是让信号(a)拉伸到图的宽度, 而信号(b)应该只延伸到可比较的长度。

如何设置轴的长度?这应该是自动完成的,因为会有更多的信号。根据我的理解,应该使用len(信号)。

使用图表比较信号(a)和信号(b)的技巧是什么?填充零是否表示(b)答案?

1 个答案:

答案 0 :(得分:0)

除非您指定不同的内容(例如,使用ax.set_xlim()),否则确实会自动确定轴的长度。它将始终拉伸以包括绘制到轴的所有数据,因此如果一个线图比另一个更大,它将自动调整大小以托管两个图。

也就是说,绘制两幅不同程度的图表非常简单。

enter image description here

import matplotlib.pyplot as plt
import numpy as np

x1 = np.linspace(0,16, num=100)
y1 = np.sin(x1)+3

x2 = np.linspace(1,10, num=242)
y2 = np.sin(x2)+1

plt.plot(x1,y1)
plt.plot(x2,y2)

plt.show()

可以看出,游戏中没有对轴参数进行调整。