[scatterplot3d] 01/03: Imported Upstream version 0.3-37
Philip Rinn
rinni-guest at moszumanska.debian.org
Wed Jun 15 11:38:16 UTC 2016
This is an automated email from the git hooks/post-receive script.
rinni-guest pushed a commit to branch master
in repository scatterplot3d.
commit 9993ff85d10ff0b3e9c546bc0f09e603a0e755be
Author: Philip Rinn <rinni at inventati.org>
Date: Wed Jun 15 13:28:16 2016 +0200
Imported Upstream version 0.3-37
---
CHANGES | 1 +
DESCRIPTION | 8 ++++----
MD5 | 14 +++++++-------
NAMESPACE | 2 +-
R/scatterplot3d.R | 22 +++++++++++++++++-----
build/vignette.rds | Bin 234 -> 235 bytes
inst/doc/s3d.pdf | Bin 320278 -> 421371 bytes
man/scatterplot3d.Rd | 8 ++++++--
8 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/CHANGES b/CHANGES
index 3ccce9c..35b52e5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -66,6 +66,7 @@ Changes in 0.3-x releases of scatterplot3d:
0.3-35: arguments pch and bg caused failures when axes got restricted.
(reported by Hans-Joachim Pitz)
0.3-36: import from base packages
+ 0.3-37: allow for solid (colored) 3d planes
known UNfixed bug:
xlim, ylim, zlim don't work *exactly* for enlarged areas
diff --git a/DESCRIPTION b/DESCRIPTION
index 64a4693..5a1917c 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
Package: scatterplot3d
-Version: 0.3-36
-Date: 2015-07-30
+Version: 0.3-37
+Date: 2016-05-24
Title: 3D Scatter Plot
Author: Uwe Ligges <ligges at statistik.tu-dortmund.de>, Martin Maechler, Sarah Schnackenberg
Maintainer: Uwe Ligges <ligges at statistik.tu-dortmund.de>
@@ -9,7 +9,7 @@ Depends: R (>= 2.7.0)
License: GPL-2
Encoding: latin1
Imports: grDevices, graphics, stats
-Packaged: 2015-07-29 22:30:44 UTC; ligges
NeedsCompilation: no
+Packaged: 2016-05-24 11:03:33 UTC; ligges
Repository: CRAN
-Date/Publication: 2015-07-30 00:32:00
+Date/Publication: 2016-05-24 13:06:14
diff --git a/MD5 b/MD5
index 450c715..4d7d13c 100644
--- a/MD5
+++ b/MD5
@@ -1,14 +1,14 @@
-fbd5e19f9d830888b203d206eea79941 *CHANGES
-cfcdad8f3da80b4058740e276ea64bc8 *DESCRIPTION
-3f23d861171f47729de45b704fb0cb49 *NAMESPACE
-b00afe1c44acc6ca0c23cd88591dfee9 *R/scatterplot3d.R
-d951632c4dee0e0e0ff26ad03e8964fa *build/vignette.rds
+45e9b034511467fe1cae2489f5f3993c *CHANGES
+4aa11c316317499ce4bd39874cd44d32 *DESCRIPTION
+f0be121a6dd3fba1bab32eded326a5eb *NAMESPACE
+1151f5d5be7ecebe65866992cb996d2d *R/scatterplot3d.R
+96c296102f1d75798741c744ed272921 *build/vignette.rds
75f154fc6802f86cefa004239b048243 *inst/CITATION
4227d2d500d52cdd18b7af5407621be0 *inst/doc/s3d.Rnw
-f0ca3eae0588111c9cd3e655b68a3712 *inst/doc/s3d.pdf
+223d7de2f122254345b81777cc05818d *inst/doc/s3d.pdf
50051f0feb902cf69820d01c45373e07 *inst/po/de/LC_MESSAGES/R-scatterplot3d.mo
3dd8ff033a10120127977c076dd14724 *inst/po/en/LC_MESSAGES/R-scatterplot3d.mo
-0e981a49cfc54485f6424ddffd131c25 *man/scatterplot3d.Rd
+cc2b2a15cd28221fb2239af3f04ddebd *man/scatterplot3d.Rd
49d9f35530b6522fd2ebba10ecbc5acc *po/R-de.po
a5bb89e45f7c077da641d8a06be0cf23 *po/R-en.po
60dc41149dec36e2c11909c3ade903b4 *po/R-scatterplot3d.pot
diff --git a/NAMESPACE b/NAMESPACE
index c9e7964..462713c 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1,4 +1,4 @@
importFrom("grDevices", "rgb", "xyz.coords")
-importFrom("graphics", "lines", "mtext", "par", "plot.new", "plot.window", "points", "segments", "strwidth", "text", "title")
+importFrom("graphics", "lines", "mtext", "par", "plot.new", "plot.window", "points", "polygon", "segments", "strwidth", "text", "title")
importFrom("stats", "coef")
export(scatterplot3d)
diff --git a/R/scatterplot3d.R b/R/scatterplot3d.R
index 2e41847..3ad9a0d 100644
--- a/R/scatterplot3d.R
+++ b/R/scatterplot3d.R
@@ -308,7 +308,9 @@ function(x, y = NULL, z = NULL, color = par("col"), pch = par("pch"),
else points(x, y, type = type, ...)
},
plane3d = function(Intercept, x.coef = NULL, y.coef = NULL,
- lty = "dashed", lty.box = NULL, ...){
+ lty = "dashed", lty.box = NULL, draw_lines = TRUE, draw_polygon = FALSE,
+ polygon_args = list(border = NA, col = rgb(0,0,0,0.2)),
+ ...){
if(!is.atomic(Intercept) && !is.null(coef(Intercept))) Intercept <- coef(Intercept)
if(is.null(lty.box)) lty.box <- lty
if(is.null(x.coef) && length(Intercept) == 3){
@@ -319,19 +321,29 @@ function(x, y = NULL, z = NULL, color = par("col"), pch = par("pch"),
mem.par <- par(mar = mar, usr = usr)
on.exit(par(mem.par))
x <- x.min:x.max
+ y <- 0:y.max
+
ltya <- c(lty.box, rep(lty, length(x)-2), lty.box)
x.coef <- x.coef * x.scal
z1 <- (Intercept + x * x.coef + y.add * y.coef) / z.scal
z2 <- (Intercept + x * x.coef +
(y.max * y.scal + y.add) * y.coef) / z.scal
- segments(x, z1, x + y.max * yx.f, z2 + yz.f * y.max, lty = ltya, ...)
- y <- 0:y.max
+
+ if(draw_polygon)
+ do.call("polygon", c(list(
+ c(x.min, x.min + y.max * yx.f, x.max + y.max * yx.f, x.max),
+ c(z1[1], z2[1] + yz.f * y.max, z2[length(z2)] + yz.f * y.max, z1[length(z1)])),
+ polygon_args))
+ if(draw_lines)
+ segments(x, z1, x + y.max * yx.f, z2 + yz.f * y.max, lty = ltya, ...)
+
ltya <- c(lty.box, rep(lty, length(y)-2), lty.box)
y.coef <- (y * y.scal + y.add) * y.coef
z1 <- (Intercept + x.min * x.coef + y.coef) / z.scal
z2 <- (Intercept + x.max * x.coef + y.coef) / z.scal
- segments(x.min + y * yx.f, z1 + y * yz.f,
- x.max + y * yx.f, z2 + y * yz.f, lty = ltya, ...)
+ if(draw_lines)
+ segments(x.min + y * yx.f, z1 + y * yz.f,
+ x.max + y * yx.f, z2 + y * yz.f, lty = ltya, ...)
},
box3d = function(...){
mem.par <- par(mar = mar, usr = usr)
diff --git a/build/vignette.rds b/build/vignette.rds
index e8f08fe..eb4cf3c 100644
Binary files a/build/vignette.rds and b/build/vignette.rds differ
diff --git a/inst/doc/s3d.pdf b/inst/doc/s3d.pdf
index b05a12b..b40e460 100644
Binary files a/inst/doc/s3d.pdf and b/inst/doc/s3d.pdf differ
diff --git a/man/scatterplot3d.Rd b/man/scatterplot3d.Rd
index 7688835..7024a5c 100644
--- a/man/scatterplot3d.Rd
+++ b/man/scatterplot3d.Rd
@@ -75,11 +75,15 @@ scatterplot3d(x, y=NULL, z=NULL, color=par("col"), pch=par("pch"),
\item{points3d}{function which draws points or lines into the existing plot.}
\item{plane3d}{function which draws a plane into the existing plot:
\code{plane3d(Intercept, x.coef = NULL, y.coef = NULL, lty =
- "dashed", lty.box = NULL, ...)}.
+ "dashed", lty.box = NULL, draw_lines = TRUE, draw_polygon = FALSE,
+ polygon_args = list(border = NA, col = rgb(0,0,0,0.2)), ...)}.
Instead of \code{Intercept} a vector containing 3
elements or an (g)lm object can be specified.
The argument \code{lty.box} allows to set a different line style for the
- intersecting lines in the box's walls.}
+ intersecting lines in the box's walls. The arguments \code{draw_lines} and \code{draw_polygon}
+ allow for choosing whether to represent the plane via line segments or as a solid surface, respectively.
+ The list in \code{polygon_args} collects arguments to be passed to the underlying
+ \code{\link[graphics]{polygon}} call that draws a solid (or transparent) plane if \code{draw_polygon=TRUE}.}
\item{box3d}{function which \dQuote{refreshes} the box surrounding the plot.}
}
\references{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/scatterplot3d.git
More information about the debian-science-commits
mailing list