Commit Graph

63 Commits

Author SHA1 Message Date
Neil Toronto
50ad8dac1f When plot-new-window?' is #t, plot' and `plot3d' now create a frame in a new eventspace. This allows plot frames to be displayed programmatically. (Without this change, the frames are unresponsive until the REPL regains control.) 2012-05-25 13:11:46 +09:00
Neil Toronto
365ee2c70d 1d, 2d and 3d function renderers no longer sample outside the function's bounds
This makes it more efficient to plot piecewise functions by drawing each piece with one renderer, and possible to plot functions with discontinuities by using a renderer to draw each continuous piece.
2012-05-25 10:40:05 +09:00
Neil Toronto
be49a59e4d Added plot-x-tick-label-angle, plot-x-tick-label-anchor, and similar for y and far axes 2012-04-30 16:12:12 -06:00
Neil Toronto
3862faee64 Fixed discrete-histogram gap and bounds calculation, expanded docs 2012-04-30 14:15:18 -06:00
Neil Toronto
3ed1a78713 Made plot snips resizeable 2012-02-25 22:47:09 -07:00
Neil Toronto
7d28eef00d Moved contract/c and treeof to unstable/contracts
Little plot doc fixes
2012-02-01 09:44:47 -07:00
Neil Toronto
713772959f Clipping lines now uses exact arithmetic. Fixes visual issues with plotting inexact functions at very small scales. Every plot should render correctly at every scale now. 2012-02-01 09:44:47 -07:00
Neil Toronto
015625e732 PLoT documentation for new renderers and plot/utils (code changes are only to move code around so a previously public function could be public again)
Many little doc fixes

Closes PR 12433

Closes PR 12435

Please please please merge into release
2012-01-23 15:56:11 -07:00
Neil Toronto
73615de58f Precision improvements for user functions that return flonums
Performance: 2d-plot-area% now uses flonums internally as much as possible
2011-12-01 13:26:36 -07:00
Neil Toronto
918c4e97a6 Fixed a bug with small (but not epsilon) flonum bounds 2011-11-28 22:09:15 -08:00
Neil Toronto
553c72ab28 Moved some flonum stuff (e.g. flatan2, flnext, +max.0, +min.0, etc.) to unstable/flonum (will document in another commit)
Moved Racket-language, doc-generating "defthing" defines to unstable/latent-contract/defthing (will document in another commit)
2011-11-25 18:40:19 -07:00
Neil Toronto
989fcc4c22 Reworked how major and minor ticks are chosen; now isosurfaces3d always shows 3-5 surfaces, and all *-ticks parameters have the same default
Contour and isosurface 'auto levels reorg
2D contours: z-min = z-max now makes empty plot instead of infinite loop
3D isosurfaces: d-min = d-max now makes empty plot instead of infinite loop
Fixed contracts and corner case on marching squares and cubes functions
Better selection box and point-label formatting
Increased timeout on extreme-bounds-tests.rkt
2011-11-24 21:59:16 -09:00
Neil Toronto
bf77e525cc Points renderers fill color option 2011-11-24 21:59:16 -09:00
Neil Toronto
192539259c Fixed extreme bounds tests 2011-11-24 21:59:16 -09:00
Neil Toronto
57f07d516d Refactoring: plot-device% now uses dc<%>'s set-origin, simplifying uses 2011-11-24 21:59:16 -09:00
Neil Toronto
700765abb2 Plot label renderers now use tick settings to format coordinates 2011-11-24 21:59:16 -09:00
Neil Toronto
bddcd76f7f Ensure snips handle rendering errors
Fraction tick formatting more reasonable for non-ticks (e.g. selection bounds, eventually plot labels)
2011-11-24 21:59:16 -09:00
Neil Toronto
547ac9c7d8 Focus tweaks to capture off-snip movement; account for split editor 2011-11-24 21:59:16 -09:00
Neil Toronto
9c5d68ead5 Plot snips no longer get focus
Right-click on plot snips now opens editor pop-up menu
2011-11-24 21:59:16 -09:00
Neil Toronto
2f308a5323 Click and drag to zoom 2D plots
Snip refactoring
2011-11-24 21:59:15 -09:00
Neil Toronto
94373ea9f9 Move point label `radius' units from point; plug plot->dc API leak 2011-11-21 10:39:16 -07:00
Neil Toronto
a23808dd95 Use rational? instead of regular-real?, cut some cruft
Make docs compile without warnings
2011-11-20 22:23:38 -08:00
Neil Toronto
8f914f653f Better error message when plot can't determine sensible bounds 2011-11-14 22:36:27 -08:00
Neil Toronto
75f76986c3 Plots with intervals too small or too large for flonums (2D and 3D)
Bounds fixpoint computation now uses only exact rationals
Speed improvements (3d-plot-area% now uses flonums internally as much as possible)
2011-11-14 22:01:07 -08:00
Neil Toronto
20e09c9f7f Little fixes and improvements 2011-11-14 22:01:07 -08:00
Neil Toronto
a710cbb7fe Speed/readability improvements in contour, surface and isosurface renderers
Progress on customization docs
Snip fixes and UI improvements
2011-11-14 22:01:07 -08:00
Neil Toronto
723a54a4d9 Added "Axis Transforms and Ticks" doc page 2011-11-11 18:12:40 -07:00
Neil Toronto
233323faac Faster 3D animation: now caches actual shapes drawn 2011-11-10 12:59:43 -07:00
Neil Toronto
bf2fbbbc49 3D stacked histograms
2D inverted histograms
2011-11-10 12:59:43 -07:00
Neil Toronto
8b93de59c6 Abstracted render-thread into worker-thread (preparing for animated 2D plots)
Endpoint-indifferent line styles (allows styles in finely chopped lines)
Adjacent polygons now gapless (faces drawn w/o antialiasing; jaggies mitigated by supersampling)
2011-11-10 12:59:43 -07:00
Neil Toronto
5bd8481aa7 2D stacked histograms, grouped histograms, collapse indistinguishable ticks, doc tests, fixes 2011-11-10 12:59:43 -07:00
Neil Toronto
ee71e01c13 Changed bounds argument contracts to (or/c regular-real? #f) 2011-11-10 12:59:43 -07:00
Neil Toronto
d477352c98 Small fixes, refactoring
Began finalizing the public interface to plot-device%
2011-11-10 12:59:42 -07:00
Neil Toronto
6bed60452a Began finalizing public interface to *d-plot-area% classes 2011-11-10 12:59:42 -07:00
Neil Toronto
a4f245b273 Speed improvements in clipping 2011-11-10 12:59:42 -07:00
Neil Toronto
d953a093c7 Refactored margin fixpoint computation 2011-11-10 12:59:42 -07:00
Neil Toronto
ee9f9ffae0 Fixed ticks collapse bug;
Refactored tick/label parameter functions in 2d-plot-area%
2011-11-10 12:59:42 -07:00
Neil Toronto
dd471b4d73 Rename area.rkt -> plot-area.rkt 2011-11-10 12:59:42 -07:00
Neil Toronto
5a379b7236 Refactor *d-plot-area%; they are now containers for plot-device% instead of descendants of plot-area% 2011-11-10 12:59:42 -07:00
Neil Toronto
596e8b3775 Polar axes use r ticks
Removed r and d transforms (r needs design, d is useless)
2011-11-10 12:59:42 -07:00
Neil Toronto
4ae9ecf28e Subdivide nonlinearly transformed 3D shapes
Detect possible nonconvergence in plot bounds fixpoint calculation
Collapse nearby 3D ticks
2011-11-10 12:59:42 -07:00
Neil Toronto
639ec15125 Added 'isoline' and 'isoline*' aliases for contour functions.
Added #:family argument to 2D label functions.
Various little fixes.
2011-11-10 12:59:41 -07:00
Neil Toronto
dab5caf67c Expanded numbered colors to 128 2011-11-10 12:59:41 -07:00
Neil Toronto
e90ec4b69f Added unstable/latent-contract
Reorganized contracts
Started exposing customization API in plot/utils
Now dog-fooding customization API in earnest
2011-11-10 12:59:41 -07:00
Neil Toronto
6b39863f1c Source reorg
Added non-rendering plot elements
Optimizations
2011-11-10 12:59:41 -07:00
Neil Toronto
ae64e8683a Parameter groups 2011-11-10 12:59:41 -07:00
Neil Toronto
afadbbf0d1 Parameter lists
Some tick changes
Allow #f in renderer fields
2011-11-10 12:59:41 -07:00
Neil Toronto
27538e1214 Better save/restore of parameters in plot-pict and plot3d-pict 2011-11-10 12:59:41 -07:00
Neil Toronto
4ca0729a2f Combined renderer structs and fixpoint bounds determination 2011-11-10 12:59:41 -07:00
Neil Toronto
f593d468f7 Finished first draft of tick/axis overhaul 2011-11-10 12:59:41 -07:00