1

我正在尝试使用 ggtext 包允许的 css 语法为 ggplot2 中的 x 轴标签定义不同的边距。我使用 CSS 选择器创建了一个对象并element_markdown()用于axis.text.x. 然而,剧情什么都没有发生。

这是一个例子:

    library(ggplot2)
    library(ggtext)
    df <- data.frame(x = runif(n = 20, min = 1, max = 10),
                     y = runif(n = 20, min = 1, max = 10))
    num1 <- c(1, 2, 3, 4, 5)
    num2 <- c(6, 7, 8, 9, 10)
    labels <- rep(NA, 10)
    labels[num1] <- paste0("<span style='margin-top:16px'>", num1, "</span>")
    labels[num2] <- paste0("<span style='margin-top:64px'>", num2, "</span>")
    
    ggplot(df, aes(x = x, y = y)) +
      geom_point() +
      scale_x_continuous(name = "",
                         limits = c(0, 10),
                         breaks = seq(1, 10, 1),
                         labels = labels) +
      theme(axis.text.x = ggtext::element_markdown())

情节 01

我们可以看到标签没有改变它们的位置。但是,当我尝试其他选择器时,即font-size,它起作用了。

例子:

labels[num1] <- paste0("<span style='font-size:12px'>", num1, "</span>")
labels[num2] <- paste0("<span style='font-size:6px'>", num2, "</span>")

    ggplot(df, aes(x = x, y = y)) +
      geom_point() +
      scale_x_continuous(name = "",
                         limits = c(0, 10),
                         breaks = seq(1, 10, 1),
                         labels = labels) +
      theme(axis.text.x = ggtext::element_markdown())

情节 02

4

0 回答 0