- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作类似于 arcdiagram 的弧线图包,使用ggplot2的geom_curve
:
library(ggplot2)
ggplot(myDat, aes(x = A, xend = B, y = 0, yend = 0)) +
geom_curve(alpha = 0.2, curvature = 1, ncp = 1000, lineend = 'butt')
有些曲线低于 0,我怎样才能使它们全部高于 Y = 0?
数据:
myDat <-
structure(list(A = c(36047276L, 36074979L, 36074979L, 36074979L,
36074979L, 36074979L, 36074979L, 36074979L, 36074979L, 36074979L,
36074979L, 36077099L, 36077099L, 36077099L, 36077099L, 36077099L,
36077099L, 36077099L, 36077099L, 36098040L, 36098040L, 36098040L,
36098040L, 36098040L, 36098040L, 36098040L, 36098040L, 36098040L,
36098040L, 36098040L, 36098040L, 36098040L, 36098040L, 36098040L,
36098040L, 36098040L, 36099840L, 36099840L, 36099840L, 36099840L,
36099840L, 36099840L, 36099840L, 36099840L, 36099840L, 36099840L,
36099840L, 36099840L, 36099840L, 36099840L, 36099840L, 36099840L,
36099840L, 36101586L, 36101586L, 36101586L, 36101586L, 36101586L,
36101586L, 36101586L, 36101586L, 36101586L, 36101586L, 36101586L,
36101586L, 36101586L, 36101586L, 36101586L, 36101586L, 36101586L,
36103565L, 36103565L, 36103565L, 36103565L, 36103565L, 36103565L,
36103565L, 36103565L, 36103565L, 36103565L, 36103565L, 36103565L,
36103565L, 36103565L, 36103565L, 36103565L, 36103565L),
B = c(36047417L,
36077099L, 36077279L, 36077863L, 36078510L, 36079111L, 36079565L,
36080165L, 36080428L, 36082473L, 36082907L, 36074979L, 36077279L,
36077863L, 36078510L, 36079111L, 36079565L, 36080165L, 36082907L,
36096300L, 36097775L, 36098987L, 36099840L, 36099952L, 36100767L,
36101156L, 36101586L, 36101633L, 36101926L, 36102035L, 36102381L,
36102833L, 36103149L, 36103565L, 36103872L, 36104121L, 36096300L,
36097775L, 36098040L, 36098987L, 36099952L, 36100767L, 36101156L,
36101586L, 36101633L, 36101926L, 36102035L, 36102381L, 36102833L,
36103149L, 36103565L, 36103872L, 36104121L, 36096300L, 36097775L,
36098040L, 36098987L, 36099840L, 36099952L, 36100767L, 36101156L,
36101633L, 36101926L, 36102035L, 36102381L, 36102833L, 36103149L,
36103565L, 36103872L, 36104121L, 36096300L, 36097775L, 36098040L,
36098987L, 36099840L, 36099952L, 36100767L, 36101156L, 36101586L,
36101633L, 36101926L, 36102035L, 36102381L, 36102833L, 36103149L,
36103872L, 36104121L)), .Names = c("A", "B"),
class = "data.frame", row.names = c(NA, -87L))
最佳答案
根据曲率
,曲线将向左或向右弯曲。这意味着在这种情况下,当曲线从 A 绘制到 B 且曲率为 1 时,它将向右弯曲。因此,如果 A 小于 B,则曲线将为“负”(位于 y 轴下方),如果 A 大于 B,则曲线将为正。
使所有曲线位于同一侧的一种方法是使用两个 geom_curve
,每种情况一个:
ggplot(mapping = aes(x = A, xend = B, y = 0, yend = 0)) +
geom_curve(data = subset(myDat, A > B),
alpha = 0.2, curvature = 1, ncp = 1000, lineend = 'butt') +
geom_curve(data = subset(myDat, A < B),
alpha = 0.2, curvature = -1, ncp = 1000, lineend = 'butt')
或者,当它们以错误的方式对齐时,我们可以交换它们:
myDat2 <- myDat
myDat2$A <- pmax(myDat$A, myDat$B)
myDat2$B <- pmin(myDat$A, myDat$B)
ggplot(myDat2, aes(x = A, xend = B, y = 0, yend = 0)) +
geom_curve(alpha = 0.2, curvature = 1, ncp = 1000, lineend = 'butt')
两者都会导致:
关于r - geom_curve - 绘制零以上的所有曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039955/
我正在尝试制作类似于 arcdiagram 的弧线图包,使用ggplot2的geom_curve: library(ggplot2) ggplot(myDat, aes(x = A, xend = B
有没有办法让geom_curve上的箭头关闭?相同的代码适用于 geom_segment。也许它是一个错误? library(tidyverse) set.seed(123) data <- data
有什么方法可以在 geom_curve 线的中心或附近添加标签吗?目前,我只能通过标记曲线的起点或终点来做到这一点。 library(tidyverse) library(ggrepel) df 0
我好像不能把箭头做成凹面的。我已尝试对 geom_curve 中的 angle 参数进行多次调整 可重现的例子 library(ggplot2) library(dplyr) set.seed(123
我有以下代码: library(tidyverse) data_frame(x = 1:5, x1=x+1, c = c('a','a','a','b','b')) %>% ggplot(
我有一个带有曲线信息的 df: df 曲线更好? 甚至更好:我在哪里可以找到 gg 对象中的曲线信息以及如何使用该信息来重新缩放我的曲线? 注意:我不需要 100% 适合。但视觉上的贴合度应该有所改
我有一个 df有两个曲线定义,每个定义由两个点和一个曲率值组成。目标是使用 ggplot2 绘制两条单独的曲线。 geom_curve (或替代方案)。 我可以使用以下方法生成我的预期输出: df
我有一个 df 包含 var 和 link 类型的元素。我想使用 geom_text 将元素 var 绘制为文本标签,使用 geom_curve 将 links 绘制为箭头。问题是,链接 过度绘制了标
我是一名优秀的程序员,十分优秀!