显示不同范围数据的最佳方式

时间:2016-02-15 10:05:15

标签: python-3.x matplotlib

我有一个应用程序可以从FPGA和FPGA中提取数据。显示给工程师。良好的应用......直到你开始显示范围极其不同的数据......

说:一个信号在+4000附近扰动,另一个在零附近(两者都有小峰值峰值)。

目前唯一真正的解决方法是"导出到csv"然后在Excel中查看,但我想改进应用程序,这样就不需要了

选项1是一个更动态的指针,可以为您提供当前x

的所有可见图的读数

选项2.多个Y轴。对于UI领域来说,这是一个有点紧张的地方。

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import host_subplot
import mpl_toolkits.axisartist as AA
import numpy as np

t = np.arange(0,1,0.00001)
data = [5000*np.sin(t*2*np.pi*10),
10*np.sin(t*2*np.pi*20),
20*np.sin(t*2*np.pi*30),
np.sin(t*2*np.pi*40)+5000,
np.sin(t*2*np.pi*50)-5000,
np.sin(t*2*np.pi*60),
np.sin(t*2*np.pi*70),
]

fig = plt.figure()
host = host_subplot(111, axes_class=AA.Axes)

axis_list = [None]*7
for i in range(len(axis_list)):
    axis_list[i] = host.twinx()
    new_axis = axis_list[i].get_grid_helper().new_fixed_axis
    axis_list[i].axis['right'] = new_axis(loc='right',
                                                axes=axis_list[i],
                                                offset=(60*i,0))
    axis_list[i].axis['right'].toggle(all=True)
    axis_list[i].plot(t,data[i])

plt.show()

for i in data:
    plt.plot(t,i)
plt.show()

此代码段不包含任何数字调整大小以确保所有7个y轴都可见但是忽略它,你可以看到它非常大......

有关multi-Y的任何建议或显示不超过7个数据集的更好解决方案?

0 个答案:

没有答案