Commit Graph

286 Commits

Author SHA1 Message Date
Luke Campagnola 45048467b3 - Major reorganization; we now follow the standard python package structure.
- Overhaul of SVG export system. Seems to work well.
- Fixed image export bugs
- Added basic 3D line plot class
2012-12-26 17:51:52 -05:00
Luke Campagnola 51b0ba0877 added line plot example to menu 2012-12-26 15:26:04 -05:00
Luke Campagnola 5374afeca8 Added basic 3D line plot class 2012-12-26 15:22:44 -05:00
Luke Campagnola 51e88bd436 SVG export fixes 2012-12-26 13:48:12 -05:00
Luke Campagnola 49e2177623 SVG export looks good. 2012-12-26 08:42:48 -05:00
Luke Campagnola b0e0781624 svg exporter updates 2012-12-25 22:20:31 -05:00
Luke Campagnola af59296231 Reorganized directory structure to be more standard
Started new SVG exporter
Merged updates from ACQ4
2012-12-25 00:43:31 -05:00
Luke Campagnola a157d9c4fa Added better API for controlling antialiasing in plots
PlotItem auto-range button is now hidden by default; only appears for plots that are not already auto-ranged and have mouse hover.
2012-12-23 00:51:28 -05:00
Luke Campagnola ef9d730d89 Workaround for Qt bugs on OSX:
- use graphics system 'raster' by default
  - disable OpenGL in QGraphicsView
2012-12-22 21:49:40 -05:00
Luke Campagnola 4ceae9f1a1 Features:
- GLScatterPlotItem can work with arbitrarily-shaped vertex arrays
- added colorToAlpha function

Bugfixes:
- GraphicsScene emits sigMouseClicked for all clicks
- CanvasItem emits transformation change signal when mirrored
- GLViewWidget.pixelSize correctly handles position specified as array
- SRTTransform3D assumes Zscale=1 when converting from 2D transform
2012-12-22 17:04:07 -05:00
Luke Campagnola b25e34f564 Features:
- Canvas: added per-item context menus
- Isocurve: 
     option to extend curves to array boundaries
     option to generate QPainterPath instead of vertex array
- Isosurface is a bajillion times faster
- ViewBox
     added clear() method
     added locate(item) method (shows where an item is for debugging)

Bugfixes:
- automated example testing working properly
- Exporter gets incorrect source rect when operating on PlotWidget
- Set correct DPI and size for SVG exporter
- GLMeshItem works properly with whole-mesh color specified as sequence
- bugfix in functions.transformCoordinates for rotated matrices
- reload library checks for modules that are imported multiple times
- GraphicsObject, UIGraphicsItem: added workaround for PyQt / itemChange bug
- ScatterPlotItem: disable cached render during export

Other:
- added documentation for several functions
- minor updates to setup.py
2012-12-22 16:51:25 -05:00
Luke Campagnola ecca8855df - ScatterPlotItem disables render cache during export
- Fixes for SVG exporter
- functions.isosurface() is a bazillion times faster (API change: return value format has changed)
2012-12-22 15:16:38 -05:00
Luke Campagnola 1a104c7542 doc update: added some missing functions
setup.py updates
2012-12-07 09:31:21 -05:00
Luke Campagnola 3de5719011 Merged testing code from Kratz
Numerous fixes for python 3 compatibility
2012-12-05 00:25:45 -05:00
Luke Campagnola 80148920c9 Bugfixes:
- Image exporter detects GraphicsView background color
- Corrected exporter filename handling for SVG export
- ViewBox no longer attempts to deregister itself while python is exiting
- Speedup for conversion using np.array(MetaArray_instance)
- GLGraphicsItem updates immediately when its GL options have changed
- Corrected some GL shader program bugs for nVidia drivers
- Fixed coordinate mapping bug in functions.transformCoordinates
- Fixed PySide import error
2012-12-04 21:02:05 -05:00
Megan Kratz 374e134014 merge from Luke 2012-11-29 16:53:24 -05:00
Megan Kratz c8123fefaa added primitive test capability to run through all examples - works but needs to be refined to make it better
-- to run the tests simply run "python pyqtgraph/examples --test"
2012-11-29 16:50:42 -05:00
Luke Campagnola 9cb199d971 documentation updates 2012-11-28 23:34:05 -05:00
Luke Campagnola d800ab03aa Added graphics item for drawing filled space between two plots 2012-11-28 22:56:31 -05:00
Luke Campagnola 005160423e Converted all old-style classes to new-style for PySide compatibility. (thanks Chris) 2012-11-28 22:47:52 -05:00
Megan Kratz 70fde35e3b merge from Luke 2012-11-27 14:56:02 -05:00
Megan Kratz dde6a2ac4c work on DateAxisItem 2012-11-27 14:54:49 -05:00
Luke Campagnola aca9c8310f Major overhaul for GLMeshItem, MeshData classes
[ Note: These APIs have changed significantly. ]
  - MeshData and GLMeshItem now operate on numpy arrays instead of lists.
  - MeshData can handle per-vertex and per-triangle color information
Added GLSurfacePlotItem class based on new GLMeshItem
GLGraphicsItem now has per-item support for customizing GL state (setGLOptions method)
Added several new shader programs
Added new examples:
   GLIsosurface
   GLSurfacePlot
   GLshaders
2012-11-23 17:34:22 -05:00
Luke Campagnola 9b41c90034 New features for LegendItem:
- Can be anchored to parent item at any location
  - Support for filled plot styles
  - Automatically resizes to fit contents
  - PlotItem can auto-generate legend
2012-11-23 16:05:14 -05:00
Luke Campagnola e5f383fbb5 Bugfixes and updates to functions.py:
- generalized makeARGB API: can now process arrays of arbitrary shape.
  - affineSlice automatically converts vector arguments to array
  - new function applyLookupTable taken from makeARGB
  - isosurface function returns array
Updated VideoSpeedTest example to follow new makeARGB API

LayoutWidget: row argument now accepts 'next' as value
ParameterTree bugfix: avoid infinite recursion when accessing non-existent attributes
ViewBox: avoid exit error caused when cleanup callback is invoked while python is shutting down
2012-11-23 16:01:25 -05:00
Megan Kratz 2ca4cddff7 merge from luke 2012-11-10 11:27:33 -05:00
Megan Kratz af5a5d3eb3 Start of work on DateAxis 2012-11-10 11:22:56 -05:00
Luke Campagnola a5a40be8bb Bugfix: GLScatterPlotItem would not display when using non-array size and pxMode=True 2012-10-31 02:07:19 -04:00
Luke Campagnola eab1d75592 ROI updates:
- ROI.movePoint now expects parent coordinates by default
   - Added ROI.getHandles()
   - Renamed MultiLineROI to MultiRectROI
   - Reorganized MultiRectROI, added addSegment and removeSegment methods (thanks Martin!)
2012-10-31 02:01:55 -04:00
Luke Campagnola 2c679dfbcc ViewBox will now correctly auto-range when an item's position or transform changes. 2012-10-31 01:57:00 -04:00
Luke Campagnola 679de86509 Minor changes and fixes:
- documentation updates
   - PlotItem informs all items when switching to log mode
   - GradientEditorItem has sigGradientChangeFinished
   - ParameterTree list types check linits on initialization
   - Fixed RuntimeError in TreeWidget.clear()
2012-10-31 01:53:16 -04:00
Luke Campagnola b09182d19a GLScatterPlotItem: use shader programs to allow specifying spot size by array
Reorganized shader programs
Infrastructure updates for OpenGL system
2012-10-26 21:47:45 -04:00
Megan Kratz 885d2157f1 merge from luke 2012-10-26 15:50:04 -04:00
Luke Campagnola 450626a3bb Fixes for PySide compatibility 2012-10-26 08:55:53 -04:00
Luke Campagnola bbba3f1f78 Updated GLScatterPlotItem for performance. 2012-10-26 00:09:47 -04:00
Luke Campagnola 8551a990c6 Merged ViewBox bugfix from Kratz 2012-10-25 00:22:18 -04:00
Luke Campagnola 8b950e807f Merged Ddocumentation updates for DockArea 2012-10-25 00:20:47 -04:00
Luke Campagnola 65f0f10198 added documentation for GLScatterPlotItem 2012-10-25 00:19:08 -04:00
Luke Campagnola 916241e6aa documentation updates for DockArea 2012-10-25 00:15:11 -04:00
Luke Campagnola f04049f098 Added histogram example 2012-10-22 14:10:16 -04:00
Luke Campagnola 15d9c1b351 PlotCurveItem now has 'step' mode for drawing histograms
Added function for generating pseudo-scatter plots (points stack in a histogram-like manner)
2012-10-22 13:35:58 -04:00
Luke Campagnola 16434272c2 Bugfix: ScatterPlotItem not updating correctly when view is resized
Documentation updates (linked GLImageItem and Legend item to indexes)
2012-10-22 13:34:03 -04:00
Luke Campagnola 65ed889a77 Added very basic LegendItem. Functional, but still missing some basic features.
Added GLImageItem and example.
2012-10-18 23:18:20 -04:00
Luke Campagnola 1c8579d4b4 - Bugfixes:
Fixed exporters to automatically add filename extension.
    Fixed ViewBox 'auto pan' option.
- Other minor edits.
2012-10-18 22:51:46 -04:00
Luke Campagnola c4019b900d Overhaul of ScatterPlotItem to improve performance. (API should be mostly unchanged)
Much more efficient at rapid updates.
2012-10-18 22:48:36 -04:00
Luke Campagnola 3c5503039f speedup 2012-10-16 22:35:53 -04:00
Luke Campagnola 3a0d599d70 scatterplot spots are clickable again 2012-10-16 20:54:42 -04:00
Luke Campagnola 5ce8d09aa0 10-100x speedup for ScatterPlotItem 2012-10-16 17:07:23 -04:00
Megan Kratz c039074e79 bugfix for ViewBox.childrenBounds -- vertical infiniteLines were not being included in autoscale range 2012-10-15 15:41:11 -04:00
Luke Campagnola 50aa289ab6 Converted all png files to compiled .py file; this allows easier packaging with py2exe
Added example scripts used for bundling with py2exe
2012-10-11 12:14:35 -04:00