Version 2.10¶
PlotPy Version 2.10.0¶
✨ New features:
Per-axis autoscale strategy: Added configurable autoscale behavior for each axis via the axis parameters dialog. Three strategies are available: Auto (default — compute bounds from items), Fixed range (apply user-defined Min/Max values) and Disabled (leave the axis untouched on autoscale). New API:
BasePlot.set_axis_autoscale_strategy()/BasePlot.get_axis_autoscale_strategy()(closes Issue #63, partial)Symbol border width: Added an
edgewidthparameter toSymbolParamfor customizable marker border thickness — previously the border was always 1 pixel wide
🛠️ Bug fixes:
Rectangular snapshot tool — Fixed the “Original size” computation (closes Issue #57):
The preview no longer displays negative dimensions when the X or Y axis is reversed
The “Original size” is now computed from pixel coordinates instead of axis units, so it is correct for
XYImageItem(and any item with non-uniform axis scaling) regardless of axis orientationThe
ValueErrorraised by the resize dialog when the selection produced negative dimensions on a reversed axis is goneSelecting a region larger than the plotted image now reports the same native pixel resolution for both
ImageItemandXYImageItem(previouslyXYImageItemreportedshape - 1whileImageItemreported the full oversized resolution): exporting at “Original size” now consistently preserves the source pixel density and avoids upsampling, regardless of the item type
Snapshot tool cursor — Fixed the mouse cursor remaining stuck as a cross (
+) outside the plot canvas (axes, toolbar) after using the snapshot tool. The modal dialogs are now opened after Qt has released the implicit pointer grab, so the cursor is correctly restored (closes Issue #58)Z-axis log tool — Fixed the
ZAxisLogToolbeing always disabled for non-ImageItemimage types (XYImageItem,MaskedImageItem,MaskedXYImageItem,TrImageItem,RGBImageItem). The Z-axis log API (get_zaxis_log_state/set_zaxis_log_state) was moved fromImageItemup toBaseImageItemso all image item types support it. This notably fixes the tool being permanently greyed out in DataLab’s image panel (closes Issue #59)Z-axis log data update — Fixed image data not being recomputed when calling
set_data()while Z-axis log scale is active — the log-transformed data is now refreshed and the LUT range preserved in log modeYRangeCursorTool— Fixed incorrect inequality display and negative ∆y when the Y-range cursors are inverted (dragging the top cursor below the bottom one). Values are now sorted and ∆y is always positive (closes Issue #55)CurveStatsTool— Replacedmin/max/mean/std/sumwith their NaN-safe equivalents (nanmin,nanmax,nanmean,nanstd,nansum) so that signal statistics are computed correctly when the data contains NaN values
⚙️ Dependencies:
Bumped minimum PythonQwt version from 0.15 to 0.16 to benefit from the Qt6 performance optimizations (closes Issue #22 — see PythonQwt#93 for the full optimization log)