Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 735caa4

Browse files
quick implementation of most of ggraph/ggforce
1 parent 3d49fbc commit 735caa4

File tree

3 files changed

+133
-0
lines changed

3 files changed

+133
-0
lines changed

‎DESCRIPTION

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ Suggests:
7777
palmerpenguins,
7878
rversions,
7979
reticulate
80+
Enhances:
81+
ggforce,
82+
ggraph
8083
LazyData: true
8184
RoxygenNote: 7.1.2
8285
Encoding: UTF-8

‎R/ggplotly-extensions-ggforce.R

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#' @rawNamespace export(to_basic.GeomArc)
2+
to_basic.GeomArc <- function(data, prestats_data, layout, params, p, ...) {
3+
prefix_class(data, "GeomPath")
4+
}
5+
6+
#' @rawNamespace export(to_basic.GeomArc0)
7+
to_basic.GeomArc0 <- function(data, prestats_data, layout, params, p, ...) {
8+
# TODO: we should have another geom2trace method for curveGrob()...
9+
prefix_class(data, "GeomPath")
10+
}
11+
12+
#' @rawNamespace export(to_basic.GeomArcBar)
13+
to_basic.GeomArcBar <- function(data, prestats_data, layout, params, p, ...) {
14+
prefix_class(data, "GeomPolygon")
15+
}
16+
17+
#' @rawNamespace export(to_basic.GeomBezier0)
18+
to_basic.GeomBezier0 <- function(data, prestats_data, layout, params, p, ...) {
19+
prefix_class(data, "GeomPath")
20+
}
21+
22+
#' @rawNamespace export(to_basic.GeomBspline0)
23+
to_basic.GeomBspline0 <- function(data, prestats_data, layout, params, p, ...) {
24+
prefix_class(data, "GeomPath")
25+
}
26+
27+
#' @rawNamespace export(to_basic.GeomBsplineClosed0)
28+
to_basic.GeomBsplineClosed0 <- function(data, prestats_data, layout, params, p, ...) {
29+
prefix_class(data, "GeomPath")
30+
}
31+
32+
#' @rawNamespace export(to_basic.GeomCircle)
33+
to_basic.GeomCircle <- function(data, prestats_data, layout, params, p, ...) {
34+
prefix_class(data, "GeomPolygon")
35+
}
36+
37+
#' @rawNamespace export(to_basic.GeomMarkCircle)
38+
to_basic.GeomMarkCircle <- function(data, prestats_data, layout, params, p, ...) {
39+
# TODO: need to incorporate logic from R/mark_circle.R
40+
stop("not yet implemented")
41+
}
42+
43+
#' @rawNamespace export(to_basic.GeomMarkEllipsis)
44+
to_basic.GeomMarkEllipsis <- function(data, prestats_data, layout, params, p, ...) {
45+
# TODO: need to incorporate logic from R/mark_elipsis.R
46+
stop("not yet implemented")
47+
}
48+
49+
#' @rawNamespace export(to_basic.GeomMarkHull)
50+
to_basic.GeomMarkHull <- function(data, prestats_data, layout, params, p, ...) {
51+
# TODO: need to incorporate logic from R/mark_hull.R
52+
stop("not yet implemented")
53+
}
54+
55+
#' @rawNamespace export(to_basic.GeomMarkRect)
56+
to_basic.GeomMarkRect <- function(data, prestats_data, layout, params, p, ...) {
57+
prefix_class(data, "GeomPolygon")
58+
}
59+
60+
#' @rawNamespace export(to_basic.GeomParallelSetsAxes)
61+
to_basic.GeomParallelSetsAxes <- function(data, prestats_data, layout, params, p, ...) {
62+
browser()
63+
prefix_class(data, "GeomPolygon")
64+
}
65+
66+
#' @rawNamespace export(to_basic.GeomPathInterpolate)
67+
to_basic.GeomPathInterpolate <- function(data, prestats_data, layout, params, p, ...) {
68+
prefix_class(data, "GeomPath")
69+
}
70+
71+
#' @rawNamespace export(to_basic.GeomShape)
72+
to_basic.GeomShape <- function(data, prestats_data, layout, params, p, ...) {
73+
prefix_class(data, "GeomPolygon")
74+
}
75+
76+
#' @rawNamespace export(to_basic.GeomSina)
77+
to_basic.GeomSina <- function(data, prestats_data, layout, params, p, ...) {
78+
prefix_class(data, "GeomPoint")
79+
}

‎R/ggplotly-extensions-ggraph.R

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# ---------------------------------------------------------------------------
2+
# TODO: ggraph::GeomAxisHive
3+
# ---------------------------------------------------------------------------
4+
5+
6+
7+
# ---------------------------------------------------------------------------
8+
# ggraph custom Edge geoms
9+
# ---------------------------------------------------------------------------
10+
11+
toEdgePath <- function(data, prestats_data, layout, params, p, ...) {
12+
names(data) <- sub("^edge_", "", names(data))
13+
prefix_class(data, "GeomPath")
14+
}
15+
16+
#' @rawNamespace export(to_basic.GeomEdgeBezier)
17+
to_basic.GeomEdgeBezier <- toEdgePath
18+
19+
#' @rawNamespace export(to_basic.GeomEdgeBspline)
20+
to_basic.GeomEdgeBspline <- toEdgePath
21+
22+
#' @rawNamespace export(to_basic.GeomEdgeDensity)
23+
to_basic.GeomEdgeDensity <- function(data, prestats_data, layout, params, p, ...) {
24+
# avoid a weird precision issue
25+
data$density[data$density < 0.005] <- 0
26+
data$fill_plotlyDomain <- data$density
27+
data$fill <- toRGB(
28+
data$edge_fill, scales::rescale(data$density)
29+
)
30+
prefix_class(data, "GeomTile")
31+
}
32+
33+
#' @rawNamespace export(to_basic.GeomEdgePath)
34+
to_basic.GeomEdgePath <- toEdgePath
35+
36+
#' @rawNamespace export(to_basic.GeomEdgeSegment)
37+
to_basic.GeomEdgeSegment <- toEdgePath
38+
39+
#' @rawNamespace export(to_basic.GeomEdgePoint)
40+
to_basic.GeomEdgePoint <- function(data, prestats_data, layout, params, p, ...) {
41+
prefix_class(data, "GeomPoint")
42+
}
43+
44+
# ---------------------------------------------------------------------------
45+
# ggraph custom Node geoms
46+
# ---------------------------------------------------------------------------
47+
48+
#' @rawNamespace export(to_basic.GeomNodeTile)
49+
to_basic.GeomNodeTile <- function(data, prestats_data, layout, params, p, ...) {
50+
to_basic.GeomRect(data, prestats_data, layout, params, p, ...)
51+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /