猿问

将等峰彼此等距分开

我有一个文本文件,其中包含例如五列数据。这是文本文件中的示例数据-


   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 np

import matplotlib.pyplot as plt

data = 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中完成此操作。有人可以帮我一下。谢谢你。


隔江千里
浏览 318回答 2
2回答

ibeautiful

为什么不为每个图简单地创建一个不同的子图并垂直堆叠呢?x = data[:, 0]fig, axes = plt.subplots(data.shape[1]-1, 1, sharex=True)axes = (axes,) if n == 1 else axesfor j, ax in enumerate(axes):    ax.plot(x, data[:, j+1])
随时随地看视频慕课网APP

相关分类

Python
我要回答