r-如何在ggplot2中使用facet_grid获得长标签以适合?

卢克·麦考利

这是一个可重现的示例:

我首先根据此示例https://github.com/hadley/ggplot2/wiki/labeller创建一个函数,然后提供数据和图形

label_wrap_gen <- function(width = 100) {
  function(variable, value) {
    lapply(strwrap(as.character(value), width=width, simplify=FALSE), 
           paste, collapse="\n")
  }
}

Data <- data.frame(Language=c("C++","C++","C++", "Java","Java","Java","Java", "PythonhasaREALLYWAYTOOlonglabel"), 
                Files=c(400, 210, 35,55,330,220,213,76), 
                Difficulty=c("a","b","c","d","e","f","g","h"), 
                stringsAsFactors=FALSE)

g <- ggplot(Data,aes(x=Difficulty,y=Files,fill=Difficulty))  #replaced fill=feetype,
h <- g + geom_bar(stat="identity",position="dodge") +   facet_grid(.~ Language, scales = "free_x", space="free",labeller=label_wrap_gen(width=.1)) 
h

它会产生一个带有“ PythonhasaREALLYWAYTOOlonglabel”标签的ggplot图,该图通常会超出图的边缘。

我试过geom_bar以下链接中的各种宽度,但都无济于事:如何在ggplot2的条形图中增加条形之间的间隔?

这里有什么帮助吗?非常感谢。

卢克·麦考利

虽然到目前为止的答案对包装文字很有帮助,但标签仍然难以阅读。我决定在感兴趣的变量的两边添加两个零值,并手动添加带连字符的名称,并在其中加上感兴趣的因数,将“ PythonhasaREALLYWAYTOOlonglabel”更改为“ PythonhasaREALLY-WAYTOOlonglabel”,以完成此操作到目前为止,我希望更好。虽然在“ PythonhasaREALLY-WAYTOOlonglabel”的两侧可能都留有太大的空间,但它却为我提供了所需的空间。

使用以下代码:

label_wrap_gen <- function(width = 100) {
  function(variable, value) {
    lapply(strwrap(as.character(value), width=width, simplify=FALSE), 
           paste, collapse="\n")
  }
}

Data <- data.frame(Language=c("C++","C++","C++", "Java","Java","Java","Java", "PythonhasaREALLY- WAYTOOlonglabel","PythonhasaREALLY- WAYTOOlonglabel","PythonhasaREALLY- WAYTOOlonglabel"), #note that I add a hyphen here and two placeholders that will have 0 values
                   Files=c(400, 210, 35,55,330,220,213,0,76,0), #note that I add two 0 values here
                   Difficulty=c("a","b","c","d","e","f","g","h","i","j"), 
                   stringsAsFactors=FALSE)

Data
g <- ggplot(Data,aes(x=Difficulty,y=Files,fill=Difficulty))  #replaced fill=feetype,
h <- g + geom_bar(stat="identity",position="dodge") +   facet_grid(.~ Language, scales = "free_x", space="free",labeller=label_wrap_gen(width=.1)) 

可能有一种方法可以使两边的空间都变窄,但是我不确定如何做到这一点...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:ggplot2:facet_grid:如何在少数(不是全部)标签中包含数学表达式?

来自分类Dev

使用facet_grid时使用..count ..的R ggplot2

来自分类Dev

如何在ggplot2中使用facet_grid制作甜甜圈图?

来自分类Dev

如何在R ggplot2中使用多个变量旋转标签轴的一部分

来自分类Dev

在不同的facet_grid图中相等的面板高度,ggplot2 R

来自分类Dev

R ggplot2类似于facet_grid的结果,但具有独立列

来自分类Dev

在R ggplot2和ggforce中使用facet_wrap_paginate缺少x轴标签

来自分类Dev

如何在 R 中使用 ggplot2 编辑图例?

来自分类Dev

如何在R中的facet_grid图上注释R-sq和p值?

来自分类Dev

R ggplot facet_grid 多箱线图

来自分类Dev

如何在R中使用ggplot2在轴刻度线上添加轴标签,类似于Fivethirtyeight样式?

来自分类Dev

在ggplot2中使用facet_grid()函数时,如何使用labeller()函数获取列总计显示在构面的标签中

来自分类Dev

如何在R中的facet_wrap标签中使用上标?

来自分类Dev

在R中使用ggplot2在工具提示中编辑用于绘图的标签

来自分类Dev

如何在R中的ggplot2中的图块上放置标签?

来自分类Dev

如何在R中的ggplot2中的图块上放置标签?

来自分类Dev

在ggplot2中使用facet_grid()时如何定义常见的y轴限制

来自分类Dev

在ggplot2中使用facet_grid的自定义散点图矩阵

来自分类Dev

将ggplot2和facet_grid一起用于连续变量和分类变量(R)

来自分类Dev

当数据是Tapply函数时,如何在R中使用ggplot2

来自分类Dev

如何在R中使用ggplot2绘制相似的图?

来自分类Dev

如何在R中使用ggplot2为渐变上的多个geom_lines着色?

来自分类Dev

当数据是Tapply函数时,如何在R中使用ggplot2

来自分类Dev

如何在 R 中使用 ggplot2 为数据提供两个注释

来自分类Dev

R:在facet_grid(ggplot)中进行t.test

来自分类Dev

在Python和Rpy2中使用R:如何ggplot2?

来自分类Dev

如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

来自分类Dev

如何在R的ggplot2中绘制阶跃直方图?

来自分类Dev

如何在ggplot2或R中绘制雷达图

Related 相关文章

  1. 1

    R:ggplot2:facet_grid:如何在少数(不是全部)标签中包含数学表达式?

  2. 2

    使用facet_grid时使用..count ..的R ggplot2

  3. 3

    如何在ggplot2中使用facet_grid制作甜甜圈图?

  4. 4

    如何在R ggplot2中使用多个变量旋转标签轴的一部分

  5. 5

    在不同的facet_grid图中相等的面板高度,ggplot2 R

  6. 6

    R ggplot2类似于facet_grid的结果,但具有独立列

  7. 7

    在R ggplot2和ggforce中使用facet_wrap_paginate缺少x轴标签

  8. 8

    如何在 R 中使用 ggplot2 编辑图例?

  9. 9

    如何在R中的facet_grid图上注释R-sq和p值?

  10. 10

    R ggplot facet_grid 多箱线图

  11. 11

    如何在R中使用ggplot2在轴刻度线上添加轴标签,类似于Fivethirtyeight样式?

  12. 12

    在ggplot2中使用facet_grid()函数时,如何使用labeller()函数获取列总计显示在构面的标签中

  13. 13

    如何在R中的facet_wrap标签中使用上标?

  14. 14

    在R中使用ggplot2在工具提示中编辑用于绘图的标签

  15. 15

    如何在R中的ggplot2中的图块上放置标签?

  16. 16

    如何在R中的ggplot2中的图块上放置标签?

  17. 17

    在ggplot2中使用facet_grid()时如何定义常见的y轴限制

  18. 18

    在ggplot2中使用facet_grid的自定义散点图矩阵

  19. 19

    将ggplot2和facet_grid一起用于连续变量和分类变量(R)

  20. 20

    当数据是Tapply函数时,如何在R中使用ggplot2

  21. 21

    如何在R中使用ggplot2绘制相似的图?

  22. 22

    如何在R中使用ggplot2为渐变上的多个geom_lines着色?

  23. 23

    当数据是Tapply函数时,如何在R中使用ggplot2

  24. 24

    如何在 R 中使用 ggplot2 为数据提供两个注释

  25. 25

    R:在facet_grid(ggplot)中进行t.test

  26. 26

    在Python和Rpy2中使用R:如何ggplot2?

  27. 27

    如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

  28. 28

    如何在R的ggplot2中绘制阶跃直方图?

  29. 29

    如何在ggplot2或R中绘制雷达图

热门标签

归档