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 61c0e42

Browse files
quick implementation of most of ggraph/ggforce
1 parent b48d360 commit 61c0e42

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
@@ -71,6 +71,9 @@ Suggests:
7171
processx,
7272
plotlyGeoAssets,
7373
forcats
74+
Enhances:
75+
ggforce,
76+
ggraph
7477
LazyData: true
7578
RoxygenNote: 6.0.1.9000
7679
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 によって変換されたページ (->オリジナル) /