我正在使用plot_missing函数显示数据集中的NA数量。由于我的数据集有50个变量,因此我需要调整文本大小。我设法更改了轴的文本大小,但没有更改数据标签的文本大小。有什么建议么?

使用样本数据集:

library(ggplot2)
library(DataExplorer)

df <- data.frame(matrix(data=runif(1000, 0, 100), ncol=50))
df[df>80] <- NA

plot_missing(df, theme_config =list(axis.text=element_text(size=6)))

最佳答案

可能有更优雅的方法可以做到这一点,但是在这里我修改了plot_missing函数:

plot_missing_smaller_labels <-
function (data, title = NULL, ggtheme = theme_gray(),
          theme_config = list(legend.position = c("bottom")))
{
    pct_missing <- NULL
    missing_value <- profile_missing(data)

    output <- ggplot(missing_value, aes_string(x = "feature",
                                               y = "num_missing", fill = "group")) +
      geom_bar(stat = "identity") +
      geom_text(aes(label = paste0(round(100 * pct_missing, 2), "%")), size = 2) +
      scale_fill_manual("Group", values = c(Good = "#1a9641",
                        OK = "#a6d96a", Bad = "#fdae61", Remove = "#d7191c"),
                        breaks = c("Good", "OK", "Bad", "Remove")) +
      coord_flip() +
      xlab("Features") +
      ylab("Missing Rows")

    class(output) <- c("single", class(output))
    plotDataExplorer(plot_obj = output, title = title, ggtheme = ggtheme,
                     theme_config = theme_config)
}

我在size = 2函数中添加了geom_text()

新的plot_missing_smaller_labels函数的调用方式如下:
plot_missing_smaller_labels(df, theme_config=list(axis.text=element_text(size = 6)))

这将使标签具有较小的文本大小。

关于r - 缺少使用图的数据标签文本大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54891109/

10-09 18:28