Commit Graph

78 Commits

Author SHA1 Message Date
Neil Toronto
2657d8f96b Plots whose functions raise errors now have an empty spot instead of
failing
2012-12-17 16:59:30 -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
Neil Toronto
8aa623c2e8 Made plots in plot' and math' render nicely in PDFs (plots in docs are picts now)
Fixed errors in `linear-seq' when end <= start
2012-11-25 22:32:07 -08:00
Eli Barzilay
672910f27b Lots of bad TAB eliminations.
I started from tabs that are not on the beginning of lines, and in
several places I did further cleanings.

If you're worried about knowing who wrote some code, for example, if you
get to this commit in "git blame", then note that you can use the "-w"
flag in many git commands to ignore whitespaces.  For example, to see
per-line authors, use "git blame -w <file>".  Another example: to see
the (*much* smaller) non-whitespace changes in this (or any other)
commit, use "git log -p -w -1 <sha1>".
2012-11-07 11:22:20 -05:00
Eli Barzilay
bffe336220 #lang racket' -> #lang racket/base' conversions in plot and in images. 2012-11-07 08:03:45 -05:00
Neil Toronto
a70aca3176 Fixed off-by-epsilon error; addresses issue with plateaus in contour-intervals and contour-intervals3d reported by Doug Williams
Please merge into release
2012-08-04 11:25:33 -06: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
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
Eli Barzilay
6318df82e5 Drop the now-redundant " " argument from existing uses of `string-join'. 2012-05-24 10:40:20 -04:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Matthew Flatt
68e005fb2c racket/draw: make-immutable-{color,brush,pen} => make-{color,brush,pen}
Also, use keywords for `make-pen' and `make-brush'.

Adding `make-pen' and `make-color' creates many conflicts among
teaching libraries, such as `2htdp/image'. These are easy to fix
up in the tree, but adding such obvious names to `racket/draw'
may create other compatibility problems, so we might have to reconsider
the names.

In consultation with Asumu.
2012-05-01 21:04:40 -06:00
Asumu Takikawa
86a976531c Fix plot to use immutable constructors. 2012-05-01 21:20:52 -04: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
568828d491 Fixed graphical glitches:
plots too small to render margin decorations (i.e. axis and tick labels) now render without them;
plots in frames now initially render with full detail
2012-03-03 15:39:16 -07:00
Neil Toronto
610280225c Added unstable/gui/snip (provides snip-canvas%) and docs
Changed plot-frame to use snip-canvas%, so resizing the frame resizes the plot; added Escape handler (closes the frame)
2012-03-03 12:37:09 -07:00
Neil Toronto
bf97780eda Fixed an internal function contract 2012-03-03 12:37:09 -07:00
Neil Toronto
3ed1a78713 Made plot snips resizeable 2012-02-25 22:47:09 -07:00
Neil Toronto
a94e1fc00e Fixed plot doc tests
Removed contract/c from unstable/contract
2012-02-01 22:17:25 -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
47fcdd4916 Sped up floor-log/base and ceiling-log/base, and made them correct on flonum inputs.
This change significantly increases the speed of number formatting, making extreme-bounds-tests.rkt run in about 1/4 the time.

Should consider moving these into racket/math, since floor-log/base generalizes order-of-magnitude.
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
Ryan Culpepper
f99d79ef10 pruned unstable/contract
Removed unused code. Removed nat/c, pos/c as they correspond to
standard predicates.
2011-12-18 13:56:00 -07:00
Neil Toronto
3e895b7072 Plot performance improvement: precalculated light, view and half dir
Color flonum-to-byte conversion handles special flonums (hopefully helps with Marijn's problem)
2011-12-07 10:56:08 -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
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
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
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
56f70fb4f2 Exposed marching squares and cubes algorithms through plot/utils, speed improvements, 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