Pyqtgraph

Latest version: v0.13.7

Safety actively analyzes 685838 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.12.0

Deprecations:
- Qt < 5.12, Python < 3.7, and NumPy < 1.17 are no longer supported

New Features:
- Qt6 Compatibility (thank you so much pijyoi !)
- 1466 CuPy/CUDA support for ImageItem! (thanks you so much outofculture !)
- 1520/1518 i18n Localization support for dialogs
- 1497 Allow toggling visibility via mouse click on LegendItem
- 1527 Expand parameter tree documentation
- 1563 Fixes to FlowChart documentation
- 1534 Extend pixmaps for GraphIcons
- 1566 Toggle-able options for ScatterPlotSpeedTest.py
- 1572 Arbitrary scale center ROI
- 1581 Equilateral Triangle ROI

Performance enhancement:
- 1493 significant speedup to invertQTransform()
- 1501 various ImageItem performance improvements
- 1509 mkQApp will now have settings for better HiDPI settings
- 1518 Small Optimizations for functions.rescaleData()
- 1556 Reduce reallocation in PlotDataItem dynamic range limiter
- 1560 Cache scatter-plot items by hashable properties
- 1564 Correct id-based keyring of scatter plot pixmap cache
- 1569 Fix ScatterPlotItem performance regression
- 1619 Stop PlotDataItem from always sending full style information to PlotCurveItem/ScatterPlotItem
- 1630 Combine levels and lut only if both are present
- 1632/1641/1649 workaround for np.clip regression since numpy 1.17
- 1641 Introduce functions.clip_array as faster replacement for currently slow np.clip
- 1637 PlotDataItem Fix viewRange <-> dynamic range limit
- 1650 Introduce functions.clip_scalar to clip scalar values

API/Behavior Change:
- 1476 Use log modulus transform for y-axis log scaling
- 1522 InfiniteLine emits clicked signal event
- 1525 Use QOpenGLWidget instead of QGLWidget
- 1540 Support siPrefix with no suffix in SpinBox
- 1541 Use qWaitForWindowExposed instead of qWaitForWindowShown
- 1554 Disable paint in GLScatterPlotItem if it has no data
- 1573/1576 Add deprecation warnings to portions of library
- 1587 qApp.property('darkMode') is now a dynamic property
- 1613 Added keys() method to Parameter class
- 1646 Removed unhelpful warnings
- 1645 Make main stanza PyQt6 compatible
- 1644 Deprecate use of hex strings that do not start with "" in mkColor

Bug Fixes:
- 1487 Fix InfiniteLabel object has no attribute 'updateText'
- 1491 LinearRegionItem would break with setSpan
- 1496 enableMenu setting now preserved when passing ViewBox to PlotItem
- 1498 PlotDataItem now signals on setPos()
- 1500 AlignCenter should have been AlignHCenter
- 1506 Fix "camerPosition" typo in GLViewWidget
- 1510 Fix RemoteGraphicsView mouse interactions on Qt 5.12
- 1517 Fix RemoteSpeedTest Shutdown Errors
- 1528 Support suffix for int parameters in SpinBox
- 1546 ImageView guards against key events when there is no time axis
- 1558 Fix Small Heights in ErrorBarItem
- 1567 Handle 0-d arrays in InfiniteLine.setPos()
- 1583 RawImageWidget fix port to QOpenGLWidget
- 1594 PlotItem removeItem regression fixed
- 1595 Workaround for CuPy Indexing Bug
- 1597 Fix RawImageWidget transpose did not handle luminance only images
- 1598 Remove references to self from lambdas for Signals
- 1618 Install sys.excepthook for PyQt6
- 1639 Fix transformations in GradientLegend
- 1647 Have GraphItem handle empty adjacency array
- 1653 Fix accidentally styled updates in PlotDataItem
- 1651 Use collections.abc for collections metaclasses in colormap.py

0.11.1

New Features:
- 800 Legend for bar graphs
- 1244 Arrow scatter symbols
- 161 Allow hiding individual points in scatter plot
- 395 LegendItem display options
- 1310 Added `Pa` to Units
- 1310 `debug.ThreadTrace` add support for thread names
- 117 Flow Chart Nodes now resized based on number of inputs/outputs
- 1154 `DateAxisItem`
- 1285 Improve control over ROI/handle pens
- 1273 `PColorMeshItem`
- 1397 `LegendItem` enable customization of label text size
- 1422 Permit entry of non-finite values into float `SpinBox`
- 1442 `TickSliderItem.allowRemote` property added
- 1441 `Tick.removeAllowed` is now a regular property and used with `TickSliderItem`
- 1388 Emit a signal when `GraphicsScene` `addItem` or `removeItem` methods called

Performance enhancement:
- 1240/345 GLImageItem clear need update flag
- 977 Faster computation option for pseudoscatter
- 1297 Improve ArrowItem performance
- 1296 Update `h5py` deps in metaarray
- 1295 Improve TextItem performance
- 1283 Performance improvements to arrayToQPath
- 816 Avoid constructing shadow pens when no shadow pen is set
- 1311 HistogramLUTItem detect trivial gradients
- 1312 avoid extra work when setLabelAngle would have no effect
- 1391 cache viewRect of `GraphicsItem` to reduce CPU load
- 150 Slight speedup to ViewBox panning
- 1420 Many ScatterPlot Improvements

API/Behavior Change:
- 496 Always antialias lines between gradient and region in HistogramLUTItem
- 385 Add headWidth parameter to arrows
- 551 fps variable on ImageView
- 1251 Allow explicit utcOffset timezone in DateAxisItem
- 1310 Add `SignalProxy.block` for temporary disabling of signal forwarding
- 1310 `InfiniteLine.setPos` add support for array argument
- 1310 Rate-limit Qt event processing in ProgressDialog if it is modal
- 1289 Disable autoSIPrefix for DateAxisItem by default
- 1274 Add tickAlpha to AxisItem Style Options
- 402 Added `clear()` method to `GLViewWidget`
- 1264 Added exception to checkOpenGLVersion to highlight OpenGL ES incompatibility
- 1257 Make painter tick font dependent for AxisItem
- 1256 Added `setState`, `setState` and `saveState` to `ROI`
- 1324 Pass through kwargs from MultiPlotItem.plot to PlotItem.plot
- 1387 ScatterPlotItem: Make + and x symbols thicker
- 1362 Make flowchart.Terminal sortable
- 1360 Add "left" and "right" step Modes to PlotCurveItem and PlotDataItem
- 1414 Emit event with mouse clicks for some items
- 1413 `InfiniteLine.viewTransformChanged` now calls superclass-method
- 1411 Hide `WidgetParameterItem.defaultBtn` if param has no default
- 1410 add fontSize kwarg to `Dock`
- 159 Add wrapping option to `SpinBox`
- 330 Set parameter default button `autoDefault` value to `False`
- 157 Provide `WidgetGroupInterface` to `GradientWidget`
- 151 Optional provide custom `PlotItem` to `PlotWidget`
- 1140 Dynamic range limiting in `PlotDataItem`
- 1383 GraphicsView set a transparent background palette
- 1428 Add default color for `ColorMap` type in `ColorMapWidget`

Bug Fixes:
- 1239 Avoid adding PlotItem twice
- 508 siScale precision
- 503 Fix butg in RawImageWidget which resulted in mirrored image
- 1242,1267 Add the mouse event to the sigClicked signal in PlotCurveItem
- 1247 Restore the now-deprecated PlotWindow and ImageWindow classes
- 1249 Remove ScatterPlotItem's SpotItems during addItem call
- 1252 Fix incorrect tick text boundaries calculation on axis by setting the font
- 1310 Fixed `Vector.__init__` when used with `QVector3D` argument
- 1310 Fix console exception filtering for python3
- 1310 BusyCursor only restore cursor after all nested levels have exited
- 1310 `SimpleParameter.setValue` coerces argument to int if parameter type is int
- 1307 Fixed `reload` methods for python3
- 1294 Various console fixes
- 1293 Various Python3 code fixes
- 1282 Handle Axis SI prefix scaling in MatplotlibExporter
- 1276 Fix problems with high frequency gaming mice
- 1270 Various fixes with AxisItem space being taken
- 1272 `LegendItem.clear()` fixed
- 1268 Check for container before setting dock orientation
- 1312 Avoid divide by 0 condition in TargetItem
- 1309 Properly retain and use hoverPen argument in _PolyLineSegment
- 1371 Explicitly set line width in PlotCurveItem when using OpenGL
- 1319 don't automatically reload modules without pyc
- 1319 make ptime.time on py3 return precision wall-clock time
- 1334 Edge case detection in PlotCurveItem
- 1339 fix handling of QVector3D args in Vector.__init__
- 1336 Make `parent` an explicit kwarg of ArrowItem.__init__, avoid passing into setStyle
- 1368 Disconnect from correct slots in Flowchart
- 1364 fix log scaling
- 963 Allow last image in stack to be selected by slider in ImageView
- 1045 Raise AttributeError in __getattr__ in TabWindow
- 960 Work around PySide setOverrideCursor bug in BusyCursor
- 309 Encode QPropertyAnimation property name if not passed as bytes
- 1072 Fix storing of ragged curves in HDF5Exporter
- 1275 Fix Parameter.hasDefault
- 1291 Get ImageView ROI working with both row and col major data
- 1377 Consolidate and fix downsample factor computation in ImageItem
- 1376 Fix PlotItem.setAxisItems
- 1392 SignalProxy: Correct initialization without slot argument
- 1306 Fix incorrect rendering of overlapping object in renderToArray()
- 1349 Avoid calling method on undefined attribute
- 1367 AxisItem: Account for empty strings in the visibility of text and units
- 1356 Fix `ParameterTree` tree name and title handling
- 1419 Fix `DataTreeWidget` dict sorting crash
- 1408 Fix mouse interaction issues with `DockLabel`
- 329 Fix bug where `int` and `float` parameter limits are not always set
- 158 Make `DockArea` compatible with Qt Designer
- 1405 Fix name setting in `ScatterPlotItem` options
- 1403 Do not apply transparent background to Qt4
- 1468 Allow zero step in `ImageItem`
- 1464 Remove `ViewBox.childGroup`'s `ItemClipsChildrenToShape` flag
- 1461 arrayToQPath revert to old behavior of `connect=ndarray` parameter
- 1459 Fix `TickSliderItem` to avoid ghost ticks
- 1456 Resolve issue with `PlotCurveItem` with merging PRs in an incorrect order
- 1287 Fill in non-finite plot values for Qt versions >= 5.12.3
- 1447 Clipped AxisItem tick value labels to prevent drawing artifacts
- 1435 Fix autosize not taking to the correct range with `TextItem` in view
- 1452 merge `InfiniteLine` caching calls
- 1446 Fix `PlotDataItem.setData([], [])`
- 1443 Fix Viewbox axis zoom in RectMode
- 1439 Fix `TickSliderItem.setTickValue` when it references a `GradientEditorItem` method
- 1361 Prevent item duplication in `Node` context menu
- 1423 Fix typo in `kwargs` for `GridItem.setTextPen`
- 1401 Fix width, height and background in SVG exporter
- 1416 Handle case in `ROI` when `shape`, `vectors`, or `origin` keywords are passed in

Maintenance:
- 389 Revert workaround for upstream QT bug regarding mouse events
- 1243 Ensure setPos in ROI is initialized correctly
- 1241 Pin pytest-xvfb version on py2
- 1310 Added tests for `functions.subArray`
- 1307 Add `ThreadSafeTimer` to `__init__.py`
- 467 derivatePlots cleanup
- 400 `ImageView.Timeline` better visibility
- 1265 Make the documentation reproducible
- 1319 clean up exception messages in console
- 356 Fix some NumPy warnings
- 1326 Improve docs for MultiPlotWidget and MultiPlotItem
- 1331 Migrate imports of PyQt5's sip module to new namespace
- 1370 Fix deprecation warning in multiprocess module
- 308 Fix opt name for SpinBox: range -> bounds in UnsharpMaskNode example
- 887 Update collections.abc imports
- 1142 Miscellaneous doc fixups
- 1169 Avoid using mutable default argument value
- 1073 Python3 fixes
- 1284 Update doc strings to clarify getArrayRegion API for ROI subclasses
- 1042 Close windows at the end of test functions
- 1374 Test warnings cleanup
- 1375 Add targeted Vector test coverage
- 1384 GLViewWidget.pan docstring typo
- 1382 Autoformat LegendItem
- 1396 Add tests for GraphicsView
- 1399 Disable mouse rate limiting on test_ROI
- 1409 Prepend conda-forge channel prior to env creation in CI
- 1302 Fix Example app now works with Qt4/Python2
- 1402 Handle case of version string having no `+`
- 1400 Fix sphinx warnings on `PColorMeshItem`
- 1328 Add docs build job to CI
- 1464 Use `conda-forge` on pyside2+linux
- 1448 Fixes for `examples/CustomPlot.py`
- 1432 ExampleApp fix to use `pg` module from directory

0.11.0

NOTICE: This is the _last_ feature release to support Python 2 and Qt 4 (PyQt4 or pyside 1)

New Features:
- 101: GridItem formatting options
- 410: SpinBox custom formatting options
- 415: ROI.getArrayRegion supports nearest-neighbor interpolation (especially handy for label images)
- 428: DataTreeWidget:
- Add DiffTreeWidget, which highlights differences between two DataTreeWidgets
- Improved support for displaying tracebacks
- Use TableWidget to represent arrays rather than plain text
- 446: Added Perceptually Uniform Sequential colormaps from the matplotlib 2.0 release
- 476: Add option to set composition mode for scatterplotitem
- 518: TreeWidget:
- Add new signals: sigItemCheckStateChanged, sigItemTextChanged, sigColumnCountChanged
- Allow setting expansion state of items before they are added to a treewidget
- Support for using TreeWidget.invisibleRootItem() (see also 592, 595)
- 542: Add collapsible QGroupBox widgets
- 543: Add TargetItem: simple graphicsitem that draws a scale-invariant circle + crosshair
- 544: Make DockArea.restoreState behavior configurable in cases where either a dock to be restored is
missing, or an extra dock exists that is not mentioned in the restore state.
- 545: Allow more types to be mapped through Transform3D
- 548: Adds a disconnect() function that allows to conditionally disconnect signals,
including after reload.
Also, a SignalBlock class used to temporarily block a signal-slot pair
- 557: Allow console stack to be set outside of exceptions (see also: pg.stack)
- 558: CanvasItem save/restore, make Canvas ui easier to embed
- 559: Image exporter gets option to invert value while leaving hue fixed
- 560: Add function to enable faulthandler on all threads, also allow Mutex to be used as
drop-in replacement for python's Lock
- 567: Flowchart
- Add several new data nodes
- Add floordiv node
- Add EvalNode.setCode
- Binary operator nodes can select output array type
- 568: LinearRegionItem
- InfiniteLine can draw markers attached to the line
- InfiniteLine can limit the region of the viewbox over which it is drawn
- LinearRegionItem gets customizable line swap behavior (lines can block or push each other)
- Added LinearRegionItem.setHoverBrush
- 580: Allow calling sip.setapi in subprocess before pyqtgraph is imported
- 582: Add ComboBox save/restoreState methods
- 586: ParameterTree
- Add GroupParameter.sigAddNew signal
- systemsolver: add method for checking constraints / DOF
- add systemsolver copy method
- Parameter.child raises KeyError if requested child name does not exist
- 587: Make PathButton margin customizable
- 588: Add PlotCurveItem composition mode
- 589: Add RulerROI
- 591: Add nested progress dialogs
- 597: Fancy new interactive fractal demo
- 621: RGB mode for HistogramLUTWidget
- 628,670: Add point selection in ScatterPlotWidget
- 635: PySide2 support
- 671: Add SVG export option to force non-scaling stroke
- 676: OpenGL allow for panning in the plane of the camera
- 683: Allow data filter entries to be updated after they are created
- 685: Add option to set enum default values in DataFilterWidget
- 710: Adds ability to rotate/scale ROIs by mouse drag on the ROI itself (using alt/shift modifiers)
- 813,814,817: Performance improvements
- 837: Added options for field variables in ColorMapWidget
- 840, 932: Improve clipping behavior
- 841: Set color of tick-labels separately
- 922: Curve fill for fill-patches
- 996: Allow the update of LegendItem
- 1023: Add bookkeeping exporter parameters
- 1072: HDF5Exporter handling of ragged curves with tests
- 1124: Syntax highlighting for examples.
- 1154: Date axis item
- 393: NEW show/hide gradient ticks NEW link gradientEditor to others
- 1211: Add support for running pyside2-uic binary to dynamically compile ui files

API / behavior changes:
- Deprecated graphicsWindow classes; these have been unnecessary for many years because
widgets can be placed into a new window just by calling show().
- 158: Make DockArea compatible with Qt Designer
- 406: Applying alpha mask on numpy.nan data values
- 566: ArrowItem's `angle` option now rotates the arrow without affecting its coordinate system.
The result is visually the same, but children of ArrowItem are no longer rotated
(this allows screen-aligned text to be attached more easily).
To mimic the old behavior, use ArrowItem.rotate() instead of the `angle` argument.
- 673: Integer values in ParameterTree are now formatted as integer (%d) by default, rather than
scientific notation (%g). This can be overridden by providing `format={value:g}` when
creating the parameter.
- 374: ConsoleWidget uses the console's namespace as both global and local scope, which
- 410: SpinBox siPrefix without suffix is not longer allowed, select only numerical portion of text on focus-in
allows functions defined in the console to access the global namespace.
- 479,521: ParameterTree simple parameters check types before setting value
- 555: multiprocess using callSync='sync' no longer returns a future in case of timeout
- 583: eq() no longer compares array values if they have different shape
- 589: Remove SpiralROI (this was unintentionally added in the first case)
- 593: Override qAbort on slot exceptions for PyQt>=5.5
- 657: When a floating Dock window is closed, the dock is now returned home
- 771: Suppress RuntimeWarning for arrays containing zeros in logscale
- 942: If the visible GraphicsView is garbage collected, a warning is issued.
- 958: Nicer Legend
- 963: Last image in image-stack can now be selected with the z-slider
- 992: Added a setter for GlGridItem.color.
- 999: Make outline around fillLevel optional.
- 1014: Enable various arguments as color in colormap.
- 1044: Raise AttributeError in __getattr__ in graphicsWindows (deprecated)
- 1055: Remove global for CONFIG_OPTIONS in setConfigOption
- 1066: Add RemoteGraphicsView to __init__.py
- 1069: Allow actions to display title instead of name
- 1074: Validate min/max text inputs in ViewBoxMenu
- 1076: Reset currentRow and currentCol on GraphicsLayout.clear()
- 1079: Improve performance of updateData PlotCurveItem
- 1082: Allow MetaArray.__array__ to accept an optional dtype arg
- 841: set color of tick-labels separately
- 1111: Add name label to GradientEditorItem
- 1145: Pass showAxRect keyword arguments to setRange
- 1184: improve SymbolAtlas.getSymbolCoords performance
- 1198: improve SymbolAtlas.getSymbolCoords and ScatterPlotItem.plot performance
- 1197: Disable remove ROI menu action in handle context menu
- 1188: Added support for plot curve to handle both fill and connect args
- 801: Remove use of GraphicsScene._addressCache in translateGraphicsItem
- Deprecates registerObject meethod of GraphicsScene
- Deprecates regstar argument to GraphicsScene.__init__
- 1166: pg.mkQApp: Pass non-empty string array to QApplication() as default
- 1199: Pass non-empty sys.argv to QApplication
- 1090: dump ExportDialog.exporterParameters
- 1173: GraphicsLayout: Always call layout.activate() after adding items
- 1097: pretty-print log-scale axes labels
- 755: Check lastDownsample in viewTransformChanged
- 1216: Add cache for mapRectFromView
- 444: Fix duplicate menus in GradientEditorItem
- 151: Optionally provide custom PlotItem to PlotWidget
- 1093: Fix aspectRatio and zoom range issues when zooming
- 390: moved some functionality from method 'export' to new method
- 468: Patch/window handling
- 392: new method 'getAxpectRatio' with code taken from 'setAspectLocked'
- 1206: Added context menu option to parametertree
- 1228: Minor improvements to LegendItem

Bugfixes:
- 88: Fixed image scatterplot export
- 356: Fix some NumPy warnings
- 408: Fix `cleanup` when the running qt application is not a QApplication
- 410: SpinBox fixes
- fixed bug with exponents disappearing after edit
- fixed parsing of values with junk after suffix
- fixed red border
- reverted default decimals to 6
- make suffix editable (but show red border if it's wrong)
- revert invalid text on focus lost
- siPrefix without suffix is no longer allowed
- fixed parametree sending invalid options to spinbox
- fix spinbox wrapping (merged 159 from lidstrom83)
- fixed parametertree ignoring spinbox bounds (merged 329 from lidstrom83)
- fixed spinbox height too small for font size
- ROI subclass getArrayRegion methods are a bit more consistent (still need work)
- 424: Fix crash when running pyqtgraph with python -OO
- 429: Fix fft premature slicing away of 0 freq bin
- 458: Fixed image export problems with new numpy API
- 478: Fixed PySide image memory leak
- 475: Fixed unicode error when exporting to SVG with non-ascii symbols
- 477: Fix handling of the value argument to functions.intColor
- 485: Fixed incorrect height in VTickGroup
- 514: Fixes bug where ViewBox emits sigRangeChanged before it has marked its transform dirty.
- 516,668: Fix GL Views being half size on hidpi monitors
- 526: Fix autorange exception with empty scatterplot
- 528: Prevent image downsampling causing exception in makeQImage
- 530: Fixed issue where setData only updated opts if data is given
- 541: Fixed issue where render would error because 'mapToDevice' would return None if the view size was too small.
- 553: Fixed legend size after remove item
- 555: Fixed console color issues, problems with subprocess closing
- 559: HDF5 exporter: check for ragged array length
- 563: Prevent viewbox auto-scaling to items that are not in the same scene. (This could
happen if an item that was previously added to the viewbox is then removed using scene.removeItem().
- 564: Allow console exception label to wrap text (prevents console
growing too large for long exception messages)
- 565: Fixed AxisItem preventing mouse events reaching the ViewBox if it is displaying grid lines
and has its Z value set higher than the ViewBox.
- 567: fix flowchart spinbox bounds
- 569: PlotItem.addLegend will not try to add more than once
- 570: ViewBox: make sure transform is up to date in all mapping functions
- 577: Fix bargraphitem plotting horizontal bars
- 581: Fix colormapwidget saveState
- 586: ParameterTree
- Make parameter name,value inint args go through setValue and setName
- Fix colormapwidget saveState
- 589: Fix click area for small ellipse/circle ROIs
- 592,595: Fix InvisibleRootItem issues introduced in 518
- 596: Fix polyline click causing lines to bedrawn to the wrong node
- 598: Better ParameterTree support for dark themes
- 599: Prevent invalid list access in GraphicsScene
- 623: Fix PyQt5 / ScatterPlot issue with custom symbols
- 626: Fix OpenGL texture state leaking to wrong items
- 627: Fix ConsoleWidget stack handling on python 3.5
- 633: Fix OpenGL cylinder geometry
- 637: Fix TypeError in isosurface
- 641,642: Fix SVG export on Qt5 / high-DPI displays
- 645: ScatterPlotWidget behaves nicely when data contains infs
- 653: ScatterPlotItem: Fix a GC memory leak due to numpy issue 6581
- 648: fix color ignored in GLGridItem
- 671: Fixed SVG export failing if the first value of a plot is nan
- 674: Fixed parallelizer leaking file handles
- 675: Gracefully handle case where image data has size==0
- 679: Fix overflow in Point.length()
- 682: Fix: mkQApp returned None if a QApplication was already created elsewhere
- 689: ViewBox fix: don't call setRange with empty args
- 693: Fix GLLinePlotItem setting color
- 696: Fix error when using PlotDataItem with both stepMode and symbol
- 697: Fix SpinBox validation on python 3
- 699: Fix nan handling in ImageItem.setData
- 713: ConsoleWidget: Fixed up/down arrows sometimes unable to get back to the original
(usually blank) input state
- 715: Fix file dialog handling in Qt 5
- 718: Fix SVG export with items that require option.exposedRect
- 721: Fixes mouse wheel ignoring disabled mouse axes -- although the scaling was correct,
it was causing auto range to be disabled.
- 723: Fix axis ticks when using self.scale
- 739: Fix handling of 2-axis mouse wheel events
- 742: Fix Metaarray in python 3
- 758: Fix remote graphicsview "ValueError: mmap length is greater than file size" on OSX.
- 763: Fix OverflowError when using Auto Downsampling.
- 767: Fix Image display for images with the same value everywhere.
- 770: Fix GLVieWidget.setCameraPosition ignoring first parameter.
- 782: Fix missing FileForwarder thread termination.
- 787: Fix encoding errors in checkOpenGLVersion.
- 793: Fix wrong default scaling in makeARGB
- 815: Fixed mirroring of x-axis with "invert Axis" submenu.
- 824: Fix several issues related with mouse movement and GraphicsView.
- 832: Fix Permission error in tests due to unclosed filehandle.
- 836: Fix tickSpacing bug that lead to axis not being drawn.
- 861: Fix crash of PlotWidget if empty ErrorBarItem is added.
- 868: Fix segfault on repeated closing of matplotlib exporter.
- 875,876,887,934,947,980: Fix deprecation warnings.
- 886: Fix flowchart saving on python3.
- 888: Fix TreeWidget.topLevelItems in python3.
- 924: Fix QWheelEvent in RemoteGraphicsView with pyqt5.
- 935: Fix PlotItem.addLine with 'pos' and 'angle' parameter.
- 949: Fix multiline parameters (such as arrays) reading from config files.
- 951: Fix event firing from scale handler.
- 952: Fix RotateFree handle dragging
- 953: Fix HistogramLUTWidget with background parameter
- 968: Fix Si units in AxisItem leading to an incorrect unit.
- 970: Always update transform when setting angle of a TextItem
- 971: Fix a segfault stemming from incorrect signal disconnection.
- 972: Correctly include SI units for log AxisItems
- 974: Fix recursion error when instancing CtrlNode.
- 987: Fix visibility reset when PlotItems are removed.
- 998: Fix QtProcess proxy being unable to handle numpy arrays with dtype uint8.
- 1010: Fix matplotlib/CSV export.
- 1012: Fix circular texture centering
- 1015: Iterators are now converted to NumPy arrays.
- 1016: Fix synchronisation of multiple ImageViews with time axis.
- 1017: Fix duplicate paint calls emitted by Items on ViewBox.
- 1019: Fix disappearing GLGridItems when PlotItems are removed and readded.
- 1024: Prevent element-wise string comparison
- 1031: Reset ParentItem to None on removing from PlotItem/ViewBox
- 1044: Fix PlotCurveItem.paintGL
- 1048: Fix bounding box for InfiniteLine
- 1062: Fix flowchart context menu redundant menu
- 1062: Fix a typo
- 1073: Fix Python3 compatibility
- 1083: Fix SVG export of scatter plots
- 1085: Fix ofset when drawing symbol
- 1101: Fix small oversight in LegendItem
- 1113: Correctly call hasFaceIndexedData function
- 1139: Bug fix in LegendItem for `setPen`, `setBrush` etc (Call update instead of paint)
- 1110: fix for makeARGB error after 955
- 1063: Fix: AttributeError in ViewBox.setEnableMenu
- 1151: ImageExporter py2-pyside fix with test
- 1133: compatibility-fix for py2/pyside
- 1152: Nanmask fix in makeARGB
- 1159: Fix: Update axes after data is set
- 1156: SVGExporter: Correct image pixelation
- 1169: Replace default list arg with None
- 770: Do not ignore pos argument of setCameraPosition
- 1180: Fix: AxisItem tickFont is defined in two places while only one is used
- 1168: GroupParameterItem: Did not pass changed options to ParameterItem
- 1174: Fixed a possible race condition with linked views
- 809: Fix selection of FlowchartWidget input/output nodes
- 1071: Fix py3 execution in flowchart
- 1212: Fix PixelVectors cache
- 1161: Correctly import numpy where needed
- 1218: Fix ParameterTree.clear()
- 1175: Fix: Parameter tree ignores user-set 'expanded' state
- 1219: Encode csv export header as unicode
- 507: Fix Dock close event QLabel still running with no parent
- 1222: py3 fix for ScatterPlotWidget.setSelectedFields
- 1203: Image axis order bugfix
- 1225: ParameterTree: Fix custom context menu


Maintenance:
- Lots of new unit tests
- Lots of code cleanup
- A lot of work on CI pipelines, test coverage and test passing (see e.g. 903,911)
- 546: Add check for EINTR during example testing to avoid sporadic test failures on travis
- 624: TravisCI no longer running python 2.6 tests
- 695: "dev0" added to version string
- 865,873,877 (and more): Implement Azure CI pipelines, fix Travis CI
- 991: Use Azure Pipelines to do style checks, Add .pre-commit-config.yaml
- 1042: Close windows at the end of test functions
- 1046: Establish minimum numpy version, remove legacy workarounds
- 1067: Make scipy dependency optional
- 1114: doc: Fix small mistake in introduction
- 1131: Update CI/tox and Enable More Tests
- 1142: Miscellaneous doc fixups
- 1179: DateAxisItem: AxisItem unlinking tests and doc fixed
- 1201: Get readthedocs working
- 1214: Pin PyVirtualDisplay Version
- 1215: Skip test when on qt 5.9
- 1221: Identify pyqt5 5.15 ci issue
- 1223: Remove workaround for memory leak in QImage
- 1217: Get docs version and copyright year dynamically
- 1229: Wrap text in tables in docs
- 1231: Update readme for 0.11 release

0.10.0

New Features:
- PyQt5 support
- Options for interpreting image data as either row-major or col-major
- InfiniteLine and LinearRegionItem can have attached labels
- DockArea:
- Dock titles can be changed after creation
- Added Dock.sigClosed
- Added TextItem.setColor()
- FillBetweenItem supports finite-connected curves (those that exclude nan/inf)

API / behavior changes:
- Improved ImageItem performance for some data types by scaling LUT instead of image
- Change the defaut color kwarg to None in TextItem.setText() to avoid changing
the color every time the text is changed.
- FFT plots skip first sample if x-axis uses log scaling
- Multiprocessing system adds bytes and unicode to the default list of no-proxy data types
- Version number scheme changed to be PEP440-compliant (only affects installations from non-
release git commits)

Bugfixes:
- Fix for numpy API change that caused casting errors for inplace operations
- Fixed git version string generation on python3
- Fixed setting default values for out-of-bound points in pg.interpolateArray
- Fixed plot downsampling bug on python 3
- Fixed invalid slice in ImageItem.getHistogram
- DockArea:
- Fixed adding Docks to DockArea after all Docks have been removed
- Fixed DockArea save/restoreState when area is empty
- Properly remove select box when export dialog is closed using window decorations
- Remove all modifications to python builtins
- Better Python 2.6 compatibility
- Fix SpinBox decimals
- Fixed numerous issues with ImageItem automatic downsampling
- Fixed PlotItem average curves using incorrect stepMode
- Fixed TableWidget eating key events
- Prevent redundant updating of flowchart nodes with multiple inputs
- Ignore wheel events in GraphicsView if mouse interaction is disabled
- Correctly pass calls to QWidget.close() up the inheritance chain
- ColorMap forces color inputs to be sorted
- Fixed memory mapping for RemoteGraphicsView in OSX
- Fixed QPropertyAnimation str/bytes handling
- Fixed __version__ string update when using `setup.py install` with newer setuptools

Maintenance:
- Image comparison system for unit testing plus tests for several graphics items
- Travis CI and coveralls/codecov support
- Add examples to unit tests

0.9.10

Fixed installation issues with more recent pip versions.

0.9.9

API / behavior changes:
- Dynamic import system abandoned; pg now uses static imports throughout.
- Flowcharts and exporters have new pluggin systems
- Version strings:
- __init__.py in git repo now contains latest release version string
(previously, only packaged releases had version strings).
- installing from git checkout that does not correspond to a release
commit will result in a more descriptive version string.
- Speed improvements in functions.makeARGB
- ImageItem is faster by avoiding makeQImage(transpose=True)
- ComboBox will raise error when adding multiple items of the same name
- ArrowItem.setStyle now updates style options rather than replacing them
- Renamed GraphicsView signals to avoid collision with ViewBox signals that
are wrapped in PlotWidget: sigRangeChanged => sigDeviceRangeChanged and
sigTransformChanged => sigDeviceTransformChanged.
- GLViewWidget.itemsAt() now measures y from top of widget to match mouse
event position.
- Made setPen() methods consistent throughout the package
- Fix in GLScatterPlotItem requires that points will appear slightly more opaque
(so you may need to adjust to lower alpha to achieve the same results)

New Features:
- Added ViewBox.setLimits() method
- Adde ImageItem downsampling
- New HDF5 example for working with very large datasets
- Removed all dependency on scipy
- Added Qt.loadUiType function for PySide
- Simplified Profilers; can be activated with environmental variables
- Added Dock.raiseDock() method
- ComboBox updates:
- Essentially a graphical interface to dict; all items have text and value
- Assigns previously-selected text after list is cleared and repopulated
- Get, set current value
- Flowchart updates
- Added Flowchart.sigChartChanged
- Custom nodes may now be registered in sub-menu trees
- ImageItem.getHistogram is more clever about constructing histograms
- Added FillBetweenItem.setCurves()
- MultiPlotWidget now has setMinimumPlotHeight method and displays scroll bar
when plots do not fit inside the widget.
- Added BarGraphItem.shape() to allow better mouse interaction
- Added MeshData.cylinder
- Added ViewBox.setBackgroundColor() and GLViewWidget.setBackgroundColor()
- Utilities / debugging tools
- Mutex used for tracing deadlocks
- Color output on terminal
- Multiprocess debugging colors messages by process
- Stdout filter that colors text by thread
- PeriodicTrace used to report deadlocks
- Added AxisItem.setStyle()
- Added configurable formatting for TableWidget
- Added 'stepMode' argument to PlotDataItem()
- Added ViewBox.invertX()
- Docks now have optional close button
- Added InfiniteLine.setHoverPen
- Added GLVolumeItem.setData
- Added PolyLineROI.setPoints, clearPoints, saveState, setState
- Added ErrorBarItem.setData

Bugfixes:
- PlotCurveItem now has correct clicking behavior--clicks within a few px
of the line will trigger a signal.
- 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
- fixed ImageItem handling of rgb images
- fixed makeARGB re-ordering of color channels
- fixed unicode usage in AxisItem tick strings
- fixed PlotCurveItem generating exceptions when data has length=0
- fixed ImageView.setImage only working once
- PolyLineROI.setPen() now changes the pen of its segments as well
- Prevent divide-by-zero in AxisItem
- Major speedup when using ScatterPlotItem in pxMode
- PlotCurveItem ignores clip-to-view when auto range is enabled
- FillBetweenItem now forces PlotCurveItem to generate path
- Fixed import errors and py3 issues in MultiPlotWidget
- Isosurface works for arrays with shapes > 255
- Fixed ImageItem exception building histogram when image has only one value
- Fixed MeshData exception caused when vertexes have no matching faces
- Fixed GLViewWidget exception handler
- Fixed unicode support in Dock
- Fixed PySide crash caused by emitting signal from GraphicsObject.itemChange
- Fixed possible infinite loop from FiniteCache
- Allow images with NaN in ImageView
- MeshData can generate edges from face-indexed vertexes
- Fixed multiprocess deadlocks on windows
- Fixed GLGridItem.setSize
- Fixed parametertree.Parameter.sigValueChanging
- Fixed AxisItem.__init__(showValues=False)
- Fixed TableWidget append / sort issues
- Fixed AxisItem not resizing text area when setTicks() is used
- Removed a few cyclic references
- Fixed Parameter 'readonly' option for bool, color, and text parameter types
- Fixed alpha on GLScatterPlotItem spots (formerly maxed out at alpha=200)
- Fixed a few bugs causing exit crashes

Page 3 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.