Построение данных с прокручиваемой осью x (время / горизонталь) на Linux

Я хочу построить данные, где ось X длинна. Если я рисую всю ось x, тогда сюжет сжимается, и он почти нечитаем. Я нашел этот ответ на SO, который указывает на следующий код scipy / matplotlib. Но когда я пытаюсь запустить указанный код, я получаю следующую ошибку:

Traceback (most recent call last): File "scrollingPlot.py", line 88, in <module> app = MyApp() File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8628, in __init__ self._BootstrapApp() File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 8196, in _BootstrapApp return _core_.PyApp__BootstrapApp(*args, **kwargs) File "scrollingPlot.py", line 82, in OnInit self.frame = MyFrame(parent=None,id=-1) File "scrollingPlot.py", line 21, in __init__ self.scroll_range) File "/usr/lib/python2.7/dist-packages/wx-3.0-gtk2/wx/_core.py", line 11226, in SetScrollbar return _core_.Window_SetScrollbar(*args, **kwargs) wx._core.PyAssertionError: C++ assertion "sb" failed at ../src/gtk/window.cpp(4754) in SetScrollbar(): this window is not scrollable 

PS: Также приветствуются другие решения (предпочтительно python, R, или что-то простое и многоплатформенное)

PPS: я открыл проблему для указанной ошибки

  • Сохранение и загрузка Python dict с помощью savemat приводит к ошибке
  • Как построить карту плотности 3D в python с помощью matplotlib
  • Scipy: позволяют ли разреженные матрицы поддерживать расширенную индексацию?
  • Изменение размера 3D-изображения (и повторная выборка)
  • Невозможно импортировать scipy's io
  • Python - поиск шаблона в сюжете
  • точки сортировки для формирования непрерывной линии
  • Ошибка загрузки PYTHON DLL
  • 2 Solutions collect form web for “Построение данных с прокручиваемой осью x (время / горизонталь) на Linux”

    Считаете ли вы использование виджетов слайдера matplotlib?

    Вот небольшой код, который можно просто показать в качестве примера.

     import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider fig, ax = plt.subplots() plt.subplots_adjust(bottom=0.25) t = np.arange(0.0, 100.0, 0.1) s = np.sin(2*np.pi*t) l, = plt.plot(t,s) plt.axis([0, 10, -1, 1]) axcolor = 'lightgoldenrodyellow' axpos = plt.axes([0.2, 0.1, 0.65, 0.03], axisbg=axcolor) spos = Slider(axpos, 'Pos', 0.1, 90.0) def update(val): pos = spos.val ax.axis([pos,pos+10,-1,1]) fig.canvas.draw_idle() spos.on_changed(update) plt.show() 

    В R этот ответ может вам помочь. Он сохранит график как отдельный png, но вы можете изменить тип формата с помощью другой команды. Соответствующий код из этого ответа воспроизводится:

      png("wide.png", width = 1e5, height = 500) plot((sin(1:10000/100)+rnorm(10000)/5),type='l') dev.off() #bmp("wide.bmp", width = 1e5, height = 500) #plot((sin(1:10000/100)+rnorm(10000)/5),type='l') #dev.off() #note that the png has a size of 396 KB, while the bmp has 48,830 KB. 
    Python - лучший язык программирования в мире.