Commit Graph

70 Commits

Author SHA1 Message Date
Neil Toronto
ecd43f7579 Fixed erroneous raised exception when plotting outside the bounds of
a 2D contour plot

Please merge to 5.3.2
2013-01-17 21:30:07 -07:00
Neil Toronto
5a2aa226fb Initial commit for `typed/plot' module
I also made some minor changes to `plot' so that its functions would
type more easily. In particular, everything that used to take a list
of vectors now accepts a (Sequenceof (Sequenceof Real)). The 3D
discrete histogram renderers now also accept lists as well as vectors
in the sequence of categories.

For now, in typed/plot functions, optional non-keyword arguments are
required. As soon as Vincent closes PR 13354, I should be able to
uncomment part of a macro in "typed/plot/syntax.rkt" to make them
correctly optional.
2012-12-15 21:22:50 -07:00
Ryan Culpepper
fd7d8a412c move lazy-require to racket/lazy-require 2012-12-03 19:28:12 -05:00
Ray Racine
b8c025da61 Histogram plots support lists as well as vectors of data. 2012-08-12 08:51:57 -06:00
Neil Toronto
3d1f2da3bc Added #:add-ticks? arguments to 2d histogram functions
Added #:add-x-ticks? and #:add-y-ticks? arguments to 3d histogram functions
2012-07-10 11:22:26 -07:00
Neil Toronto
ef2bd3fc0a Revert "Added #:add-ticks? argument to all 2d-renderer-producing functions"
I forgot that (plot-x-ticks no-ticks) does the same thing.

This reverts commit 8ae3ff48d8.
2012-07-10 11:22:26 -07:00
Neil Toronto
8ae3ff48d8 Added #:add-ticks? argument to all 2d-renderer-producing functions 2012-07-10 10:40:22 -07:00
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