我有一个文本文件,其中包含例如五列数据。这是文本文件中的示例数据- 715.10685 -0.006153 -0.004829 -0.002161 0.000994 0.004024 715.589053 0.000344 0.001608 0.004192 0.007262 0.010277 716.071255 0.009477 0.010658 0.013193 0.016265 0.019321 716.553458 0.021954 0.023053 0.025522 0.02855 0.031579 717.035661 0.03933 0.040322 0.042648 0.045625 0.048713 717.517864 0.065858 0.066748 0.068937 0.071936 0.075013 718.000067 0.105093 0.105611 0.107231 0.109831 0.112457 718.48227 0.159793 0.159685 0.160404 0.162183 0.16411 718.964473 0.227552 0.226183 0.22505 0.224954 0.224974 719.446675 0.280709 0.277399 0.273711 0.271167 0.268747 719.928878 0.287966 0.284241 0.280152 0.277131 0.274246 720.411081 0.2579 0.255127 0.252152 0.249984 0.24799 720.893284 0.217396 0.215636 0.214007 0.213105 0.21248 721.375487 0.183229 0.182397 0.182068 0.182365 0.182748 721.85769 0.156936 0.156647 0.157027 0.157882 0.158674 722.339893 0.13635 0.136406 0.137233 0.138479 0.139685我有以下脚本,该脚本可以读取文本文件并相应地绘制数据。import numpy as npimport matplotlib.pyplot as pltdata = np.genfromtxt('peak.txt', dtype = float)a = [row[0] for row in data]b = [row[1] for row in data]c = [row[2] for row in data]d = [row[3] for row in data]e = [row[4] for row in data]fig = plt.figure(figsize=(6,8))ax = fig.add_subplot(111)ax.plot(a,b,a,c,a,d,a,e)plt.show()它生成四个相互重叠的图。我想将它们彼此等距分开,以便清晰可见。也许是一种可行的方法,它可以在所有图中查找最小值并添加一定的增量,以使图等距分离。可能还有其他方法。我不确定如何在python中完成此操作。有人可以帮我一下。谢谢你。
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
为什么不为每个图简单地创建一个不同的子图并垂直堆叠呢?
x = data[:, 0]
fig, axes = plt.subplots(data.shape[1]-1, 1, sharex=True)
axes = (axes,) if n == 1 else axes
for j, ax in enumerate(axes):
ax.plot(x, data[:, j+1])
添加回答
举报
0/150
提交
取消