Skip to content

Latest commit

 

History

History
135 lines (98 loc) · 5.15 KB

NOTES

File metadata and controls

135 lines (98 loc) · 5.15 KB

-*- mode:org -*-

What module for plotting?

  • State “DONE” from “TODO” [2015-08-21 Fri 19:07]
  • Abandoning PyQwt, which seems to be an abandoned project.
  • Matplotlib - does not fit very well into PyQt (the programming styles conflict).
  • PyQtGraph seems to be the only candidate.
  • VisPy is still under heavy development and as of 2015-08-08 is very OpenGL focused. Hoping that it will be incorporated smoothly into PyQtGraph in the future.
  • PyQtGraph stable version does not support PyQt5 support, using devel branch from github.

Choice of plotting multiple datasets on same plot widget

Cannot attach to a specific dataset. Update `name` with something more meaningful. Allow option of plotting on new widget or current widget (Alt+p, Alt+Shift+p).

  • Subha [2015-08-21 Fri]

Plot multidimensional dataset

  • State “DONE” from “TODO” [2015-08-24 Mon 18:37]

Provide choice of rows/columns for multidimensional datasets when plotting.

  • Subha [2015-08-21 Fri]

The control over data source is getting unwieldy.

  • 1D data:
  • simple x=index, y=data or the other way round
  • compound x=index, y=column or the other way round
    • 2D data:
  • data in rows: x=column 1, y=column 2
  • data in cols: x=row 1, y= row 2
    • N-D data
  • data in k-th dimension, x=data[d0, d1, dk-1, :, dk+1, …, dN-1), y=data[d’0, d’1, d’k-1, :, d’k+1, …, d’N-1] where di is the index on dimension i e.g., N=3, data in Z (k=2), x=data[Xx, Yx, :], y=data[Xy,Yy, :] either of these can also be the index.

Plot compound dataset

  • It will be useful to plot data against column names. For example, if each column corresponds to a year.

Add control for configuring line style, color etc.

Zooming in mousemode 1 hangs in mouseMoveEvent on cygwin64

After selecting Mouse mode 1 from context menu in a PlotWidget when I try to zoom into a rectangular region, the window freezes. Keyboard interrupt on he terminal gives:

Traceback (most recent call last): File “/usr/lib/python3.4/site-packages/pyqtgraph/widgets/GraphicsView.py”, line 360, in mouseMoveEvent def mouseMoveEvent(self, ev): KeyboardInterrupt

Interestingly, standalone plotwidget works. One embedded in a QMdiSubWindow poses the problem. This occurs with devel branch with PyQt5/python3.4 installed on cygwin64 (latest) on Windows 7. Works fine with Anaconda on the same system.

Subha [2015-08-21 Fri]

keep just one parameter tree visible

and update it depending on which plotwidget is selected. Also use tabs in stead of horizontal display.

Issues with PyQt5

conda create -n pyqt5 python conda activate pyqt5 conda install numpy conda install h5py

There was a version mismatch between qt5 (5.4) and available pyq5(5.3.2) and this caused the error:

Traceback (most recent call last): File “c:\cygwin64\home\Subhasis\src\dataviz\dataviz\datasetplot.py”, line 49, in <module> from PyQt5.QtCore import (Qt, pyqtSignal) ImportError: DLL load failed: The specified module could not be found.

Then I tried:

conda install -c https://conda.anaconda.org/inso pyqt5

Still error:

[pyqt5] C:\Users\Subhasis\Anaconda3\envs\pyqt5\Lib\site-packages>python c:\cygwin64\home\Subhasis\src\dataviz\dataviz\dataviz.py Traceback (most recent call last): File “C:\Users\Subhasis\Anaconda3\envs\pyqt5\lib\site-packages\pyqtgraph\Qt.py”, line 25, in <module> import PyQt4 ImportError: No module named ‘PyQt4’

….

Traceback (most recent call last): File “c:\cygwin64\home\Subhasis\src\dataviz\dataviz\dataviz.py”, line 59, in <module> from hdftreewidget import HDFTreeWidget File “c:\cygwin64\home\Subhasis\src\dataviz\dataviz\hdftreewidget.py”, line 61, in <module> from pyqtgraph import parametertree as ptree File “C:\Users\Subhasis\Anaconda3\envs\pyqt5\lib\site-packages\pyqtgraph\__init__.py”, line 13, in <module> from .Qt import QtGui File “C:\Users\Subhasis\Anaconda3\envs\pyqt5\lib\site-packages\pyqtgraph\Qt.py”, line 32, in <module> raise Exception(“PyQtGraph requires either PyQt4 or PySide; neither package could be imported.”) Exception: PyQtGraph requires either PyQt4 or PySide; neither package could be imported.

Needed the development sources of PyQtGraph:

pip install git+https://github.com/pyqtgraph/pyqtgraph.git

Still problem:

[pyqt5] C:\Users\Subhasis\Anaconda3\envs\pyqt5\Lib\site-packages>python c:\cygwin64\home\Subhasis\src\dataviz\dataviz\dataviz.py This application failed to start because it could not find or load the Qt platform plugin “windows”.

Reinstalling the application may fix this problem.

Finally this worked:

conda install -c https://conda.anaconda.org/inso pyqt5 qt5

Import data from binary files

  • When creating a new dataset, provide option for selecting a file
  • Also allow more complex data type specification …
  • regular dataset - number of dimensions, length of each dimension
  • compound dataset - data type of each column
  • data type of each field (include length and encoding for string)
  • endianness for binary data