我希望绘制存储在一个NumPy
数组中的多个时间序列数据,在同一个图中,但每个时间序列都有偏移,所以它实际上有自己的 Y 轴。我认为最好的方法可能是将每个系列放在一个单独的VPlotContainer
中,但是当我打电话时,configure_traits()
我只是得到一个空白窗口。是我有太多时间序列让机器处理的问题吗?
class EEGPlot(HasTraits):
plot = Instance(VPlotContainer)
traits_view = View(
Item('plot',editor=ComponentEditor(), show_label=False),
width=1024, height=768, resizable=True, title="EEG Preview")
def __init__(self, eegObject):
super(EEGPlot, self).__init__()
x = xrange(eegObject.windowStart, eegObject.windowEnd)
plotNames = {}
allPlots = []
for idx, column in enumerate(eegObject.data[:,:].transpose()): # only included indexes to indicate array dimensions
y = column
plotdata = ArrayPlotData(x=x, y=y)
myplot = Plot(plotdata)
myplot.plot(("x", "y"), type="line", color="blue")
plotNames["plot{0}".format(idx)] = myplot
allPlots.append(plotNames["plot{0}".format(idx)])
container = VPlotContainer(*allPlots)
container.spacing = 0
self.plot = container
所以我的 EEGObject 是一个二维的 NumPy 数组。大约 1500(行)乘 65(列)。我想知道我是否因为做错了什么而得到了空白屏幕,或者我只是给了它太多容器?