小编L S*_*ets的帖子

将所有标签的锚点 geom_text_repel/geom_label_repel 设置为相同(左侧)

我正在使用 geom_text_repel,有点基于此示例: https: //ggrepel.slowkow.com/articles/examples.html#align-labels-on-the-top-or-bottom-edge。但是,在我的代码中,线段的末端有时会捕捉到标签的左侧,有时会捕捉到标签的底部。这破坏了我正在寻找的干净的外观。我意识到这种行为取决于比例和分辨率(如果您更改查看器的大小或以不同的分辨率保存,则不会发生这种行为),但我现在无法更改这些。有没有办法强制ggrepel捕捉(锚定)到标签的左侧

这段代码复制了这个问题(我的实际代码当然不是这样混乱的)。从 FB 到 FI,段锚定在底部,DK 锚定到左侧,然后 IP 锚定到底部,然后从那里锚定到左侧(所需)。

library(ggplot2)
library(ggrepel)
library(dplyr)
set.seed(2)
dat <- tibble(A = c(seq(1,1.5, .015), 6),
              B = 1,
              C = replicate(35, paste0(sample(LETTERS, 2), collapse = '')))

p1 <- dat %>%
  ggplot(aes(x = B, 
             y = A, 
             label = C))+
  geom_point() +
  geom_text_repel( direction = "y",
                   xlim = c(1.1, 5),
                   min.segment.length = 0)+
  coord_cartesian(expand = T, clip = "off")+
  xlim(1,1.2)


ggsave("p1.png", p1, width = 7, height = 5)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

r ggplot2 dplyr ggrepel

5
推荐指数
0
解决办法
933
查看次数

向工具提示饼图添加额外变量 echarts4r

我正在使用创建一个圆环图echarts4r。现在我正在尝试添加自定义工具提示,并且我能够复制此处给出的示例Echarts4r :使用工具提示中总计的百分比创建堆叠面积图和此处在工具提示 echarts4r 中显示额外变量。但是,我不太明白这是如何扩展到饼图的。我想要一个带有工具提示的饼图,显示总数和相对百分比

library(tidyverse)
library(echarts4r)

My_df <- data.frame(n = c(1, 4, 10), 
                    x = c("A", "B", " C")) %>%
  mutate(percent = round(n/sum(n), 2) )

My_df %>%
  e_charts(x)  %>% 
  e_pie(n, radius = c("50%", "70%")) %>%
  e_tooltip()
Run Code Online (Sandbox Code Playgroud)

这是我迄今为止最好的镜头

My_df %>%
  e_charts(x)  %>% 
  e_pie(n, radius = c("50%", "70%")) %>%
  e_tooltip(formatter = htmlwidgets::JS("
                                        function(params){
                                        return('<strong>' + params.name + 
                                        '</strong><br />total: ' + params.value + 
                                        '<br />percent: ' +  params.value[1])   }  "))
Run Code Online (Sandbox Code Playgroud)

在散点图示例中,附加值使用附加值bind =,但这不适用于饼图。

javascript r echarts

5
推荐指数
1
解决办法
1104
查看次数

添加相关信息工具提示 echarts4r boxplot 异常值

我正在尝试将一些相关的悬停信息添加到 echarts4r 图的工具提示中。我想制作一个箱线图,向用户显示异常值的名称(或一些其他信息)。这与向工具提示饼图 echarts4r 添加额外变量向工具提示饼图 echarts4r 添加额外变量有些相关,但这些解决方案不起作用,因为bind不适用于e_boxplot

这就是我到目前为止所拥有的

library(echarts4r)

df <- data.frame(
    my_name = letters[1:11],
    x = c(1:10, 25),
    y = c(1:10, -6)
)

df |>
    e_charts() |>
    e_boxplot(y, outliers = TRUE) |>
    e_boxplot(x, outliers = TRUE) |>
    e_tooltip(
      formatter = htmlwidgets::JS("
        function(params)
        {
          return `<strong>${params.name}</strong>
            <br/>val: ${params.value[1]}
          <br/>name: ${params.my_name}`
        }
      "))
Run Code Online (Sandbox Code Playgroud)

javascript r tooltip echarts echarts4r

5
推荐指数
1
解决办法
451
查看次数

将 R 中的多个列组合成一个新的向量列(最好是 tidyr 解决方案)

我正在尝试将多个列组合成一个向量(理想情况下,我想使用某些正则表达式或指定哪些列dplyr::contains()。无论如何,我不希望使用paste(我希望能够%in%在结果上使用语句来连接列或解决方案)向量。我希望新列是一个值向量,可以使用unnest_wider或一些类似的函数来取消嵌套。我确信这是可能的,只是现在想不出正确的搜索词。这似乎很接近,但不起作用:

df <- tribble(~A, ~B,
               1, 2, 
               3, 4, 
               5, 6)

df %>%
    mutate(C = I(list(A, B)))
Run Code Online (Sandbox Code Playgroud)

结果看起来像这样

      A     B    C
1     1     2   c(1,2)
2     3     4   c(3,4)
3     5     6   c(5,6)
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr

2
推荐指数
1
解决办法
1891
查看次数

在 ggplot2 (R) 中使用 coord_pol() 时在任意两点之间绘制直线

我有一个使用极坐标的图。现在我想使用直箭头向该图添加一些注释geom_segment()。但是,当我使用 时coord_polar(),正如预期的那样,这些线段也会转换为极坐标系。当然,这是适当的行为,但我想在图中添加一些直箭头(在笛卡尔意义上)。我怎样才能最好地做到这一点。这两个问题让我很接近,但还没有(R:如何将多边形的直线和线段与极坐标结合起来?将线段添加到具有雷达坐标的ggplot2中的直方图中)。对于我的绘图的解决方案,我不能使用 coord_radar 代替。

这在没有 coord_pol 的情况下有效,但在没有 coord_pol 的情况下则无效

library(tidyverse)
df <- tibble(x = rep(letters,  each = 5),
             y = rep(1:5, 26),
             d =  rnorm(26 * 5))


p1 <- ggplot() +
  geom_tile(data = df,
            aes(x = x,
                y = y,
                fill = d)) +
  ylim(c(-2, 5)) +
  geom_segment(
    aes(
      x = "o",
      y = -1,
      xend = "z",
      yend = 3
    ),
    arrow = arrow(length = unit(0.2, "cm")),
    col = "red",
    size …
Run Code Online (Sandbox Code Playgroud)

r coordinate-systems ggplot2 tidyverse

2
推荐指数
1
解决办法
736
查看次数