Commit Graph

493 Commits

Author SHA1 Message Date
Etienne Dumur f8aee11190 Add PColorMeshItem example to the app 2020-07-15 10:30:41 +02:00
Etienne Dumur 98c6c56358 Make clearer the non-grid meshing of the Item 2020-06-28 15:05:29 +02:00
Etienne Dumur 919ee54b59 Add edgecolor parameter
Allow user to set the polygons edge color.
2020-06-28 14:50:44 +02:00
Etienne Dumur d32d61a1e2 Various improvements
Make an example displaying more clearly the Item capability.
Correct few bugs in the Item class.
Improve overall comments.
2020-06-28 14:49:20 +02:00
Etienne Dumur 3cbe65d46d Correct PColorMeshItem names 2020-06-26 18:12:17 +02:00
Etienne Dumur cbbd8287ad Remove matplotlib dependencies 2020-06-25 22:07:41 +02:00
Etienne Dumur 426a70ae60 Implemented pColorMeshItem 2020-06-23 19:59:04 +02:00
Karl Georg Bedrich 3a758cac96
NEW options for LegendItem (#395)
* NEW options for LegendItem

* * changed 'drawFrame' into 'frame'
* added **kwargs to plotItem.addLegend
* added (frame=False, colCount=2) in legend example
* more elegant solution for legend.getLabel

* repaired getLabel
ItemSample.item == plotitem

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-12 22:40:20 -07:00
Ogi Moore dbdd5d9a39
Peque scatter symbols (#1244)
* Added arrow symbols for the ScatterPlotItem

* Fixed arrows rotation in scatter plots

* Added new symbols to example

Co-authored-by: Miguel Sánchez de León Peque <msdeleonpeque@gmail.com>
2020-06-10 23:03:43 -07:00
Maurice van der Pot e18af48b8d
Implement headWidth parameter for arrows (#385)
Although the documentation used to say that specifying tipAngle would
override headWidth, headWidth was never used. The new behaviour is that
tipAngle will be used, with a default value of 25, unless headWidth is
specified.

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-09 22:04:29 -07:00
Ogi Moore 517adc87c0
Merge branch 'master' into develop 2020-06-09 20:56:51 -07:00
Ogi Moore 47f06e78be
Merge branch 'develop' into pyside2-uic 2020-06-03 21:48:16 -07:00
Ogi ab96ca1d30 Examples Should Be Tested on PySide2 5.14.2.2 2020-06-02 22:44:17 -07:00
Adam Strzelecki 983cc1695e
Patch/window handling (#468)
* Do not wrap PlotView/ImageView

There is no need to wrap PlotView/ImageView into QMainWindow, since
only purpose of the QMainWindow is some default menu toolbar & menu
handling, that is not used by PyQtGraph anyway.

Moreover, every parent-less Qt widget can become window, so this
change just use PlotView/ImageView as windows, removing extra
complexity, eg. method forwarding, self.win property.

Another benefit of this change, it that these windows get initial
dimensions and titles as they were designed in .ui file.

* Properly cleanup on ImageView.close()

We should not close explicitly child widgets or clear scene, otherwise
Qt will deallocate children views, and cause "wrapped C/C++ object of
type ImageItem has been deleted" error next time we call close()
and/or some other methods.

All children, including self.ui.roiPlot, self.ui.graphicsView will be
closed together with its parent, so there is no need to close them
explicitly.

So the purpose of close it to reclaim the memory, but not to make the existing ImageView object dysfunctional.

* Remove references to plot & image windows after close

PyQtGraph images and plots module list variables are currently holding
references to all plots and image windows returned directly from main
module. This does not seem to be documented however, and causes the Qt
windows to be not released from memory, even if user releases all own
references.

This change removes the references from images/plots list once window
is closed, so when there is no other reference, window and all related
memory is reclaimed.

* Change all UI forms title from Form to PyQtGraph

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-01 11:23:18 -07:00
Luke Campagnola 9d1fbb6a3e Add warning about PySide 5.14, avoid a confusing error message that would appear with 5.14 2020-05-29 23:42:35 -07:00
Marko Bausch 4052f0dd11 Added context menu option to paramtree 2020-05-22 16:05:52 +02:00
Lev Maximov a76d9daec2
Date axis item (#1154)
* Add DateAxisItem

* Change style to camelCase

* Fix missing first tick for negative timestamps

* Add ms precision, auto skipping

Auto skipping allows a zoom level to skip ticks automatically if the
maximum number of ticks/pt is exceeded

* fixes suggested by @goetzc

* workaround for negative argument to utcfromtimestamp on windows

* attachToPlotItem method

* default date axis orientation

* Use new DateAxisItem in Plot Customization example

* attachToPlotItem bugfix

* examples of DateAxisItem

* modified description of customPlot example

* added descriptions to the new examples, reformatted their code, included the first one into utils.py

* typo

* Refactored code for setting axis items into new function

Replaces "DateAxisItem.attachToPlotItem"

* Fix string comparison with ==

* Doc: Slightly more text for DateAxisItem, small improvement for PlotItem

* Make PlotWidget.setAxisItems official

* Fix typo in docstring

* renamed an example

* merge bug fix

* Revert "merge bug fix"

This reverts commit 876b5a7cdb.

* Real bug fix

* support for dates upto -1e13..1e13

* Automatically limit DateAxisItem to a range from -1e12 to 1e12 years

Very large years (|y|>1e13) cause infinite loop, and since nobody
needs time 100 times larger than the age of the universe anyways,
this constrains it to 1e12.

Following suggestion by @axil:
https://github.com/pyqtgraph/pyqtgraph/pull/1154#issuecomment-612662168

* Also catch ValueErrors occuring on Linux before OverfloeErrors

While zooming out, before hitting OverflowErrors, utctimestamp
produces ValueErrors (at least on my Linux machine), so they
are also catched.

* Fix: Timestamp 0 corresponds to year 1970

For large years, x axis labels jump by 1970 years if it is not
accounted for timestamp 0 to be equal to year 1970.

* Fix: When zooming into extreme dates, OSError occurs

This commit catches the OSError like the other observed errors

* Disable stepping below years for dates outside *_REGULAR_TIMESTAMP

2 reasons: First: At least on my Linux machine, zooming into
those dates creates infinite loops. Second: Nobody needs
sub-year-precision for those extreme years anyways.

* Adapt zoom level sizes based on current font size and screen resolution

This is somewhat experimental. With this commit, no longer 60 px are
assumed as width for all zoom levels, but the current font and
display resolution are considered to calculate the width of ticks in
each zoom level. See the new function `updateZoomLevels` for
details.
Before calling this function, overridden functions `paint` and
`generateDrawSpecs` provide information over the current display
and font via `self.fontScaleFactor` and `self.fontMetrics`.

* Meaningful error meassage when adding axis to multiple PlotItems

As @axil noted in the DateAxisItem PR, currently users get a
segmentation fault when one tries to add an axis to multiple
PlotItems. This commit adds a meaningful RuntimeError message
for that case.

* setZoomLevelForDensity: Refactoring and calculating optimal spacing on the fly

* DateTimeAxis Fix: 1970 shows when zooming far out

* Refactoring: Make zoomLevels a customizable dict again

* updated the dateaxisitem example

* Fix: Get screen resolution in a way that also works for Qt 4

This is both a simplification in code and an improvement in backwards compatibility with Qt 4.

* DateAxisItem Fix: Also resolve time below 0.5 seconds

* unix line endings in examples

* DateTimeAxis Fix: For years < 1 and > 9999, stepping broke

Stepping was off by 1970 years for years < 1 and > 9999,
resulting in a gap in ticks visible when zooming out. Fixed by
subtracting the usual 1970 years.

* DateTimeAxis Fix: Zooming out too far causes infinite loop

Fixed by setting default limits to +/- 1e10 years. Should still
be enough.

* improved second dateaxisitem example

* 1..9999 years limit

* DateTimeAxis: Use OrderedDict to stay compatible with Python < 3-6

* DateAxisItem: Use font height to determine spacing for vertical axes

* window title

* added dateaxisitem.rst

* updated index.rst

Co-authored-by: Lukas Heiniger <lukas.heiniger@sed.ethz.ch>
Co-authored-by: Lev Maximov <lev.maximov@gmail.com>
Co-authored-by: 2xB <2xB@users.noreply.github.com>
2020-04-27 11:43:22 -07:00
Ogi Moore 556ba55be3
Merge pull request #1124 from dargor/color_examples
Syntax highlighting for examples.
2020-03-08 07:19:54 -07:00
Gabriel Linder d0b92349dd
Intercept light/dark modes transitions on MacOS. 2020-03-08 10:34:54 +01:00
Gabriel Linder 412698c8bb
Dark mode support. 2020-03-07 23:02:40 +01:00
Ogi 19ae94765f Skip tests involving loadUi with pyside2 5.14 2020-02-24 23:00:42 -08:00
Gabriel Linder adba81a8d8
Syntax highlighting for examples. 2020-02-11 11:23:58 +01:00
Ogi Moore 2203933393
Declare scipy optional (#1067)
* Replace use of scipy.random with numpy.random

* Update README to reflect scipy being an optional depenency
2019-11-12 09:02:08 -08:00
Elliott Sales de Andrade d726a9693e Fix UnboundLocalError in VideoSpeedTest. 2019-09-13 01:07:57 -04:00
Ogi Moore 584c4516f0
Expand CI + pre-commit (#991)
* Initial attempt at extra checks in CI land

* Adding flake8 config

* Adding pre-commit configuration and explanation in CONTRIBUTING.md
2019-08-29 13:56:25 -07:00
2xB 05aa3e9393 Add 'fillOutline' option to draw an outline around a filled area (#999) 2019-08-17 09:57:40 -07:00
Ogi fe637512b5 Skip GL* examples if on macOS with python2 and qt4 bindings, and update readme 2019-06-25 23:05:38 -07:00
2xB edf2942010 Replaced usage of deprecated ROI classes in example (#946) 2019-06-21 21:19:02 -07:00
Ogi Moore 0cc4900d7a
Skip some test examples (#937)
* Skip RemoteSpeedTest.py during testing
* Skip `optics_demos.py` test on PySide 1. 2.4  due to documented pyside bug
2019-06-21 08:36:42 -07:00
Ogi f05ff6fbf9 Restore duplicate entries in examples app, but test_examples does not duplicate tests 2019-06-10 21:20:31 -07:00
Ogi be0e95ace7 Incorporating requested changes 2019-06-03 20:49:31 -07:00
Ogi 9f66b7dc6e Much better error reporting/tracepacks on examples 2019-06-02 22:16:35 -07:00
Ogi d2331bde7f Removing duplicate entries 2019-06-01 22:36:29 -07:00
Ogi 5ff409ba4b Move example test code such that pytest is required 2019-06-01 22:36:11 -07:00
Ogi Moore eb90616ae2
Merge pull request #905 from 2xB/test_exclude_examples
Exclude selected examples from tests (such as HDF5)
2019-05-31 22:28:54 -07:00
Luke Campagnola 52fef555ee
Merge pull request #904 from j9ac9k/take-screenshots
Take screenshots + Show Resolution
2019-05-29 13:12:12 -07:00
2xB 560993e8c5 Exclude selected examples from tests (such as HDF5) 2019-05-29 11:16:09 +02:00
Ogi f2aeea8964 We support pyside2 don't we? 2019-05-28 22:57:12 -07:00
2xB a37e877631 Add PyQt5 and PySide2 to test_example.py (#897)
* Add PySide2 to test_example.py

Before, example tests are skipped because no PyQt version was found
2019-05-27 21:07:25 -07:00
MingZZZZZZZZ 3f93e30b31
Update Legend.py
add legend examples for line plot, bar graph and scatter plot.
2018-12-21 01:47:23 -05:00
Luke Campagnola 2884eef079 Add ViewBoxFeatures to example menu 2018-07-10 05:56:35 -07:00
Luke Campagnola f8efbec53f Add image hover callback to imageAnalysis example 2018-07-07 00:10:15 -07:00
Luke Campagnola 08349351da Fix QString handling 2018-06-22 17:31:58 -07:00
Luke Campagnola 3fd56eb195 Handle Qt4/5 API difference in filedialog 2018-06-22 17:26:31 -07:00
Luke Campagnola 060d2479f9 minor fixes 2018-06-15 14:18:38 -07:00
Luke Campagnola 69645895c9 flip template line endings 2018-05-24 08:54:31 -07:00
Luke Campagnola ebc805a45f workaround pyside bug #671 2018-05-23 21:12:16 -07:00
Luke Campagnola 66dcfc7c67 Merge branch 'develop' into pyside2 2018-05-22 15:22:54 -07:00
Luke Campagnola 8da208b914 flip pyside2 template line endings 2018-05-17 09:02:41 -07:00
Luke Campagnola 4d26b4bb20 Fix py3 string handling in scatterplotwidget example 2018-05-09 10:56:01 -07:00
Luke Campagnola 3f0a13d170
Merge pull request #658 from iillyyaa/py3-examples-division
examples: use integer division in indexing
2018-04-25 16:21:37 -07:00
Luke Campagnola e61bbeda41 Merge branch 'develop' into datatree-arrays 2018-04-25 11:25:57 -07:00
Ilya A. Kriveshko 20bcc39eb1 examples: use integer division in indexing
In python3 / operator produces a float, which is not a valid index.
Replace with // integer division.
2018-03-30 14:51:29 -04:00
Luke Campagnola 043a3b4d6d Better title 2018-03-29 18:30:46 -07:00
Luke Campagnola 1e1ce78a51 Merge branch 'Add_window_title' of https://github.com/Billy4195/pyqtgraph into Billy4195-Add_window_title 2018-03-29 18:30:25 -07:00
Luke Campagnola 840e0ac600
Merge pull request #630 from Billy4195/Refactor
Refactor MultiPlotSpeedTest.py
2018-03-29 18:11:39 -07:00
Luke Campagnola 358b1539ee add reduce import to fractal demo 2018-03-29 08:49:42 -07:00
Luke Campagnola 82afad8366 Fix up Qt.py and deprecate USE_XX variables 2018-02-16 20:42:34 -08:00
Billy Su afd8a6f423 Replace deprecate class in examples
Using class GraphicsLayoutWidget to replace the deprecated class
GraphicsWindow, cc #631.
2018-02-16 12:21:39 +08:00
Luke Campagnola 46f10f24f8 Merge branch 'develop' of https://github.com/maxpeng/pyqtgraph into maxpeng-develop 2018-02-15 18:30:12 -08:00
Billy Su 81562b0252 Refactor MultiPlotSpeedTest.py
* Change variable to meaningful name,
* Remove the outdated commented out code.
2018-02-03 11:01:03 +08:00
Billy Su 8a956bfddb Add main window title for the examples 2018-02-02 23:05:56 +08:00
Terekhov 551ccd105c Add an example of using text strings as a custom smbol in ScatterPlotItem 2018-01-29 21:18:26 -05:00
Luke Campagnola 870c047d30
Merge pull request #621 from campagnola/rgb-histogram
Rgb histogram
2018-01-26 08:52:10 -08:00
Luke Campagnola 677d9fa4b4
Merge pull request #597 from campagnola/fractal-demo
Add an interactive fractal demo
2018-01-25 08:59:28 -08:00
Luke Campagnola 0653c8ec59 Add example and test demonstrating spinbox bug 2018-01-24 09:11:42 -08:00
Luke Campagnola 001070d9ff Add new fractal demo 2017-10-18 00:26:37 -07:00
Luke Campagnola 60e6591608 Fix verlet integration demo 2017-10-18 00:18:46 -07:00
Luke Campagnola 7c1a6ecb1a Prevent dialog from moving label/bar widgets on resize when nested 2017-10-04 09:01:51 -07:00
Luke Campagnola f4c3d88251 Add option to join nested progress dialogs into a single window 2017-10-03 15:22:31 -07:00
Luke Campagnola 6e22524ac2 Update histogramlut example to allow rgb mode 2017-09-26 08:50:31 -07:00
Luke Campagnola 73d857750a Add check for EINTR during example testing; this should help avoid sporadic test failures on travis 2017-09-03 22:04:24 -07:00
Luke Campagnola 6cdad190ab Merge remote-tracking branch 'campagnola/develop' into datatree-arrays 2017-01-16 11:34:42 -08:00
Luke Campagnola f26b4ec3c7 Merge pull request #425 from james1293/develop
Removed unnecessary 'curve1' from 'global'
2017-01-14 22:17:34 -08:00
Luke Campagnola 504c35202a Merge pull request #410 from campagnola/spinbox-formatting
Spinbox formatting
2017-01-14 11:09:51 -08:00
james1293 b131785b86 Removed unnecessary 'curve1' from 'global' 2017-01-06 23:21:31 -05:00
Luke Campagnola 24b288a05a really actually fix 2016-12-14 10:19:01 -08:00
Luke Campagnola 8d85b87d71 py3 fix 2016-12-14 10:14:11 -08:00
Luke Campagnola 8fc98a6a0b Add print wrapper to work around interrupted system calls on travis 2016-12-14 10:07:16 -08:00
Luke Campagnola 95de07b48a Merge remote-tracking branch 'lidstrom83/SpinBox_wrapping' into spinbox-formatting 2016-12-09 10:07:28 -08:00
Luke Campagnola e5a17edb4d Add spinbox 'regex' and 'evalFunc' options to complete user-formatting functionality 2016-12-08 10:12:45 -08:00
Luke Campagnola e21d06b4c4 add missing example template file
add note about pyside bug affecting optics example
2016-11-04 22:47:10 -07:00
Luke Campagnola a0e4301b38 Fix VideoSpeedTest to disable RawImageGLWidget when openGL is unavailable 2016-10-26 09:26:01 -07:00
Luke Campagnola f6b00a135c fix optics demo on python3
print warning when setuptools is not available
2016-10-18 08:47:38 -07:00
Max Peng 1cbef74e82 update ui files for pyside2 and pyqt5. 2016-09-25 00:16:53 +08:00
Max Peng 8bdc19be75 update to support pyside2 2016-09-25 00:16:36 +08:00
Luke Campagnola 4ddf077a4b Fixed TextItem briefly drawing with incorrect transform.
(note flickering in examples/text.py)
2016-09-14 18:18:33 -07:00
Luke Campagnola 4b9f1a20a4 Merge pull request #370 from campagnola/image-alignment
Image alignment
2016-09-07 23:18:51 -07:00
Luke Campagnola e9afbb9b9c Clean up examples / docs 2016-08-31 15:14:25 -07:00
Luke Campagnola 2e36058130 IsocurveItem obeys imageAxisOrder config option 2016-08-27 22:36:05 -07:00
Luke Campagnola 67bff6b9ca bugfix in polylineroi.getarrayregion 2016-08-27 15:51:54 -07:00
Luke Campagnola e740cb4b49 updated examples to use normal axis order, fixed a few ROI bugs 2016-08-23 09:06:43 -07:00
Luke Campagnola bee5878915 Added imageAxisOrder config option
Added global config documentation
ROIs don't exactly work yet..
2016-08-23 09:06:43 -07:00
Kenneth Lyons 3ec02d0662 Fix opt name for SpinBox: range -> bounds. 2016-04-11 21:05:21 -07:00
Luke Campagnola eb625776c9 Merge branch 'meganbkratz-ImageViewWork' into develop 2016-04-02 23:28:33 -07:00
Luke Campagnola 0d2bd107b3 Use colormap with better perceptual contrast 2016-04-02 23:27:20 -07:00
Luke Campagnola 5e420fe100 Merge branch 'ImageViewWork' of https://github.com/meganbkratz/pyqtgraph into meganbkratz-ImageViewWork 2016-04-02 22:30:19 -07:00
Timer 18024a0ca8 fix a color name error 2016-03-27 23:09:06 +08:00
Luke Campagnola 9d64b269d5 Merge pull request #286 from campagnola/infiniteline-tests
combined infiniteline updates
2016-02-28 21:00:09 -08:00
Luke Campagnola ac14139c2d rename example 2016-02-28 18:54:55 -08:00
Luke Campagnola bd0e490821 cleanup: docs, default args 2016-02-28 12:26:05 -08:00
Luke Campagnola 7a0dfd768a Cleanup: add docstrings and setter methods to InfLineLabel, remove unused code 2016-02-22 00:23:36 -08:00
Luke Campagnola 170592c294 update example 2016-02-21 23:28:24 -08:00
Luke Campagnola 069a5bfeea Labels can rotate with line 2016-02-21 00:17:17 -08:00
Luke Campagnola 5172b782b5 Added inflinelabel class, label dragging and position update works.
Update to TextItem to allow mouse interaction
2016-02-19 00:41:42 -08:00
lesauxvi 5888603ebf addition of a draggable option for infiniteline 2016-02-16 08:14:53 +01:00
lesauxvi ba4b648263 addition of a convenient method for handling the label position 2016-02-16 06:48:59 +01:00
Megan Kratz 229fc6aec9 added lines setting a custom color map to the ImageView example 2016-02-15 16:58:57 -05:00
Luke Campagnola 392c3c6c17 Added symbol example to menu; minor cleanups to symbol example. 2016-02-14 23:15:39 -08:00
lesauxvi a8b5624444 example modifications 2016-02-15 06:55:02 +01:00
lesauxvi e7b27c2726 text location algorithm simplification 2016-02-05 13:57:51 +01:00
lesauxvi aec6ce8abb infinite line performance improvement 2016-02-04 03:28:59 +01:00
lesauxvi 51b8be2bd1 Infinite line extension 2016-02-03 12:52:01 +01:00
lesauxvi 07f610950d creation of a combined method for handling the label location 2016-02-01 11:17:36 +01:00
lesauxvi 0d4c78a6be Infiniteline enhancement 2016-01-15 16:13:05 +01:00
lesauxvi ce36ea4eb6 Infiniteline enhancement 2016-01-15 16:10:24 +01:00
lesauxvi 905a541253 new markers 2016-01-15 09:17:52 +01:00
lidstrom83 92d8c2630b Add spin box wrapping example. 2015-10-25 03:55:37 -06:00
Eric Dill afbc65325e py26: {} cannot be empty for string formatting
So that's a nasty gotcha of python 2.6!
2015-08-02 17:18:38 -04:00
Eric Dill 4b15fa75d5 TST: Use pgcollections.OrderedDict for 2.6 compat 2015-08-02 17:08:07 -04:00
Eric Dill c02dbe7679 TST: use pyqtgraph.Qt to import Qt stuff 2015-07-31 10:22:41 -04:00
Luke Campagnola 179b8db79d make `python examples/` work again 2015-07-12 17:13:56 -05:00
Eric Dill ed35993ae1 TST: all the testing 2015-07-12 16:12:42 -05:00
Eric Dill 6375c74109 TST: Finish testing all examples
- py.test will now run examples/test_examples.py too
2015-07-12 13:42:58 -05:00
Eric Dill e33dd2b269 MNT: Move most of __main__.py into utils.py 2015-07-12 11:46:12 -05:00
Luke Campagnola f34b69e660 Fix #92 (thanks jaxankey) 2015-06-03 22:18:02 -04:00
Luke Campagnola 0976991efd Import from python2_3 for all uses of basestring, cmp, and xrange 2015-05-19 09:29:55 -04:00
Luke Campagnola 8e1c3856ea Added more examples to menu
Minor edits
2015-03-01 16:52:15 -05:00
Luke Campagnola 1fe5976e19 Merge branch 'pyqt5' into develop
Conflicts:
	examples/parametertree.py
	pyqtgraph/Qt.py
	pyqtgraph/graphicsItems/FillBetweenItem.py
	pyqtgraph/graphicsItems/InfiniteLine.py
	pyqtgraph/imageview/ImageView.py
2015-02-28 11:46:41 -05:00
Luke Campagnola 52d7f2142c Fix line width in a few examples 2015-02-28 11:26:45 -05:00
Luke Campagnola 7e40b329e9 more examples working under pyqt5 2015-02-28 11:05:57 -05:00
Luke Campagnola 058dd183d3 Cleaned up example loader 2015-02-28 10:32:34 -05:00
Luke Campagnola caa15d2005 Merge branch 'compassym-pyqt5' into pyqt5 2015-02-28 09:38:38 -05:00
compass 98f079d86a Add pyqt5 support for examples/__main__.py 2015-01-17 18:45:32 +08:00
compass 478a3b1aa4 Fix some bugs in PyQt5 2015-01-17 00:21:33 +08:00
Luke Campagnola 77906fc7a2 corrections to manifest
Add pure-python integrator to verlet chain example
2014-12-23 15:55:52 -05:00
Luke Campagnola 85d6c86c67 Test submenu creation in example 2014-11-14 08:06:18 -05:00
Luke Campagnola 4543031ac5 Added DiffTreeWidget 2014-09-25 17:26:06 -04:00
Luke Campagnola cabd9d6bf2 Cleanup, better support for tracebacks in DataTreeWidget 2014-09-25 15:21:28 -04:00
Luke Campagnola 8c0064a323 DataTreeWidget uses TableWidget to represent arrays 2014-09-25 11:58:49 -04:00
Luke Campagnola 8b0a866ad9 Add ErrorBarItem.setData 2014-06-27 10:55:55 -04:00
Luke Campagnola 274c765594 Fixed relativity example 2014-06-14 11:35:00 -06:00
Luke Campagnola ba4f4e5105 Added image analysis example 2014-06-13 18:02:39 -06:00
Luke Campagnola 04f1b0e677 Added scrolling plot examples 2014-06-13 14:19:10 -06:00
Luke Campagnola 35856ccaee Added cx_freeze example (thanks Jerry!) 2014-06-06 15:53:17 -06:00
Luke Campagnola 374b5a33ed Added dialog to hdf5 example prompting user to generate sample data 2014-05-22 01:51:17 -04:00
Luke Campagnola 6e9d5c3cfb Python 3 fixes for new demos 2014-05-22 01:30:15 -04:00
Luke Campagnola 0524bfa6e8 Added new demos:
- Relativity simulator
- Optics simulator
- Mechanical chain simulator
2014-05-22 01:22:12 -04:00
Luke Campagnola 51f0a063ee minor cleanups 2014-05-08 09:50:26 -04:00
Luke Campagnola 98dec9e954 minor cleanup 2014-04-12 18:01:50 -04:00
Mikhail Terekhov ac90bf4c3b PlotDataItem: add missing 'stepMode' keyword argument for PlotCurveItem 2014-04-12 15:37:10 -04:00
Luke Campagnola cae310c570 Fix: avoid importing py3 module from pyqt when using py2 2014-04-03 13:33:16 -04:00
Luke Campagnola 0fb5f05fad Added py2exe example from Nitish 2014-04-03 13:31:02 -04:00
Luke Campagnola 77e02eded7 py3 fix for parametertree example 2014-03-29 11:34:05 -04:00
Luke Campagnola 0bb300b7f2 Generated qt5 template files 2014-03-29 06:57:13 -04:00
Luke Campagnola 2ce6196ac0 Fixed Parameter.sigValueChanging 2014-03-25 13:15:29 -04:00
Luke Campagnola 00c9c1e2a7 Fix ROI.sigRemoveClicked to avoid repeated signal emission
Update ROI example to demonstrate removal
2014-03-25 09:21:19 -04:00
Luke Campagnola 5f7e4dc644 Removed extra image window from VideoSpeedTest 2014-03-14 18:49:34 -04:00
Luke Campagnola 1edf1375ed Removed all dependencies on scipy.
Merge branch 'make_scipy_optional' into develop
2014-03-11 19:05:30 -04:00
Luke Campagnola 34802c8aec Added pg.gaussianFilter, removed all dependency on gaussian_filter 2014-03-11 19:01:34 -04:00
Luke Campagnola b398ccd0ce corrected import 2014-03-11 10:11:03 -04:00
Luke Campagnola 816069c020 All scipy imports in the library are now optional (need to test each of these changes)
Several examples still require scipy.
2014-03-11 10:11:03 -04:00
Luke Campagnola 00418e4921 Allow GLMeshItem to draw edges from MeshData with face-indexed vertexes. 2014-03-10 23:04:10 -04:00
Luke Campagnola 87ff0f314c Merge branch 'fix_finite_cache' into develop 2014-03-05 10:34:46 -05:00
Luke Campagnola 41c3d47d43 Correct GraphicsItem to use relative import of lru_cache
Update MultiPlotSpeedTest to test lru_cache performance
2014-03-05 10:25:55 -05:00
Luke Campagnola 7d32ef85be Added automatic image downsampling (disabled by default)
- Reduces aliasing when zoomed out
  - Improves performance and memory usage for large images
Merge branch 'image_downsampling' into develop

Conflicts:
	pyqtgraph/graphicsItems/ImageItem.py
2014-02-17 20:48:22 -05:00
Luke Campagnola d45467e4cb Merge branch 'cylinder_mesh' into develop
Adds MeshData.cylinder
2014-02-11 10:12:40 -05:00
Luke Campagnola 5488f9ec84 Added BarGraphItem.shape() to allow better mouse interaction 2014-02-09 10:38:29 -05:00
Luke Campagnola dc1af8946e Added a few new examples 2014-02-09 09:42:04 -05:00
Luke Campagnola 8730245990 Merge branch 'viewbox_limits' into develop
Adds ViewBox.setLimits method

Conflicts:
	examples/SimplePlot.py
2014-02-04 20:32:44 -05:00
Luke Campagnola 92d3b3fb94 cleanups 2014-02-02 10:45:32 -05:00
Luke Campagnola 96296749be Merge remote-tracking branch 'termim/master' into termim-fixes
ArrowItem: setStyle now combines new options with previously-set options.
AxisItem: fix minor exceptions
2014-02-02 10:43:29 -05:00
Luke Campagnola ff232f4e3a Added cylinder geometry to opengl MeshData 2014-02-01 20:46:05 -05:00
Mikhail Terekhov 95bddca014 In ArrowItem allow individual parameter change through setStyle call. 2014-01-31 23:00:18 -05:00
Mikhail Terekhov fe11e6c143 use examples directory for the output 2014-01-31 22:29:20 -05:00
Luke Campagnola d0ed3ba245 Removed duplicate limit-setting arguments
Renamed args for clarity, improved documentation
Fixed interaction bugs
 - zooming works correctly when view is against limit
 - no more phantom target range; target is reset during mouse interaction.
2014-01-31 13:04:47 -05:00
Luke Campagnola b0cafce3b4 Basic view limits appear to be working. 2014-01-30 10:50:07 -05:00
Luke Campagnola 5a1a663a50 MultiPlotWidget now uses scroll bar when plots do not fit in widget area. 2014-01-25 08:50:31 -05:00
Luke Campagnola 21639196d8 Fix imports in MultiPlotWidget and its example.
Merge remote-tracking branch 'termim/develop' into multiplotwidget-fix
2014-01-25 07:30:29 -05:00
Luke Campagnola 23779f004e - Fixed FillBetweenItem to force PlotCurveItem to generate path
- Added FillBetweenItem.setCurves()
- Added FillBetweenItem example
2014-01-23 10:34:26 -05:00
Mikhail Terekhov baa6c4b82c Fix metaarray import in MultiPlotWidget.py example and MultiPlotItem.py 2014-01-20 22:15:14 -05:00
Luke Campagnola eae32af0c7 Added symbol to Legend example 2014-01-18 23:30:03 -05:00
Luke Campagnola 6e5e35691c cleanups 2014-01-16 20:34:05 -05:00
Luke Campagnola 704f2f2048 Merge remote-tracking branch 'gpoulin/scatter_optim' into scatter-optim
Conflicts:
	pyqtgraph/functions.py
	pyqtgraph/graphicsItems/AxisItem.py
2014-01-15 00:11:05 -05:00
Luke Campagnola 4886270b53 PlotNode control widget now displays combo box to let user select plots to connect to
Flowchart example updated to use this feature.
2013-12-27 21:07:03 -05:00
Luke Campagnola 19be6959f3 Flowchart:
* Replaced dynamic imports with static
* Added NodeLibrary allowing multiple customized collections of Node types
2013-12-21 23:26:02 -05:00
Luke Campagnola 63f3b0ab6e Fix examples/hdf5.py to work properly with --test 2013-12-19 12:44:03 -05:00
Luke Campagnola 03c01d3b32 Fixes related to CSV exporter:
- CSV headers include data names, if available
  - Exporter correctly handles items with no data
  - pg.plot() avoids creating empty data item
  - removed call to reduce() from exporter; not available in python 3
  - Gave .name() methods to PlotDataItem, PlotCurveItem, and ScatterPlotItem
2013-12-19 12:30:00 -05:00
Luke Campagnola a0b7e5a61c Corrected mouse clicking on PlotCurveItem - now uses stroke outline instead of path shape
Added 'width' argument to PlotCurveItem.setClickable()
2013-12-19 09:56:58 -05:00
Luke Campagnola 4e9e75817f Added Qt.loadUiType function for PySide
Added example of simple Designer usage.
2013-12-17 21:23:37 -05:00
Antony Lee a9b1fd9079 Some Python3 related fixes. 2013-12-16 15:02:26 -08:00
Luke Campagnola bc7bc29740 Added HDF5 file to demonstrate dynamically plotting a subset of a very large dataset
* Loads only data that is currently visible
 * Downsamples to avoid plotting too many samples
 * Loads data in chunks to limit memory usage during downsampling
2013-12-08 12:47:04 -05:00
Luke Campagnola 6e74df28a0 Merge branch 'dont-copy-context-menu' into develop
This allows ViewBox context menus to be modified by directly manipulating ViewBox.menu
2013-11-21 23:38:44 -05:00
Luke Campagnola 5b905cde8b Override ViewBox.popup() to update menu before showing
Extend ViewBox menu in examples/contextMenu
2013-11-19 07:46:17 -05:00
Luke Campagnola 1418358bfb Fixed RemoteGraphicsView passing mouse events on python3 + pyside 2013-11-17 14:12:00 -05:00
Luke Campagnola 1e82104986 Fixed running `python examples --test` for python3; needs to be tested under windows. 2013-11-16 21:51:55 -05:00
Luke Campagnola 8d7ab108fd Fixed PySide issues by removing itemChange methods from GraphicsWidget and ViewBox;
Workaround is for ViewBox to see whether its scene has changed every time it paints.

Fixes: 12
2013-11-16 20:23:41 -05:00
Luke Campagnola 31928e70a5 Bugfixes:
- GraphicsView.render now correctly invokes GraphicsScene.prepareForPaint
 - Fixed RemoteGraphicsView renderer to use new PyQt QImage API.
 - multiprocess.Process now pipes stdout/err directly to console when in debugging mode
2013-11-06 23:14:27 -05:00
Luke Campagnola 96a4ff7cd5 Fixes:
- ROI updates on sigTransformChanged
  - ViewBox is more careful about accepting all auto-range changes up to the point it is disabled, even if the auto-range calculation is deferred.
2013-11-04 22:07:43 -05:00
Guillaume Poulin 3a9258e35e Correct comment in examples/ScatterPlot.py 2013-09-20 16:46:33 +08:00