Commit Graph

26 Commits

Author SHA1 Message Date
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
Neil Toronto
a713ca8a8b Added nan?, infinite?, degrees->radians, radians->degrees, exact-round, exact-floor, exact-ceiling, exact-truncate to racket/math
Altered TR's random arithmetic testing to generate single-flonums and very small flonums; fails now because of erroneous types

Fixes to sgn, sinh, cosh, and tanh:
 * preserve single-flonum-ness
 * correct zero sign (-0.0) for negative return values that are smaller than epsilon
 * correct behavior with NaN and infinite inputs
2012-06-05 22:40:44 -06: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
7d28eef00d Moved contract/c and treeof to unstable/contracts
Little plot doc fixes
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
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
57f07d516d Refactoring: plot-device% now uses dc<%>'s set-origin, simplifying uses 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
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
86a862cca9 Test case for Richard Hollos 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
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
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
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