相关疑难解决方法(0)

自动调整水平条形图中的边距

我需要制作一系列水平分组条形图.条形图功能不会自动调整绘图的边距,因此文本会被切断.

  graphics.off()      # close graphics windows
   test <- matrix(c(55,65,30, 40,70,55,75,6,49,45,34,20), 
                  nrow =3 , 
               ncol=4, 
               byrow=TRUE,
               dimnames = list(c("Subgroup 1", "Subgroup 2", "Subgroup 3"),
                               c(
                                 "Category 1 Long text",
                                 "Category 2 very Long text",
                                 "Category 3 short text",
                                 "Category 4 very short text"
                                 )))
  barplot(test, 
       las=2,
       beside = TRUE,
       legend=T,
       horiz=T)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我找不到一个选项来自动向右移动图,R点图功能的方式((SAS中的条形图程序也会自动调整边距).显然,我总是可以使用par函数手动调整边距.

  par(mar=c(5.1, 13 ,4.1 ,2.1))
Run Code Online (Sandbox Code Playgroud)

将剧情向右移动

在此输入图像描述

是否可以根据文本的长度自动将图形向右移动(即调整边距)?

我可以想到2个相关的appproaches以编程方式进行:1)计算最长文本字符串的长度并相应地调整左边距2)创建数据的点图,以某种方式捕获边距并在条形图中使用相同的边距.

有更简单的方法吗?谢谢!

r margins labels string-length

11
推荐指数
1
解决办法
9362
查看次数

使用 ggplot 多线和中心对齐 x 轴标签

我知道hjust用于 x标题轴,但是我将如何对 x 轴标签进行居中和多线处理?这是我的绘图功能:

gg_fun<-function(){
  ggplot(tab,                  
         aes(x = Var1, y = Percent)) +
    #theme_light() +
    theme(panel.background = element_rect(fill = NA),
          axis.title.y=element_text(angle=0, vjust=0.5, face="bold"), 
          axis.title.x=element_blank(),
          axis.text.y = element_text(size = 10), 
          axis.text.x = element_text(size = 12),
          axis.ticks.x = element_blank(),
          axis.ticks.y = element_blank(),
          #panel.grid.minor = element_line(colour = "dark gray"),
          panel.grid.major.x = element_blank() ,
          # explicitly set the horizontal lines (or they will disappear too)
          panel.grid.major.y = element_line(size=.1, color="dark gray" ),
          axis.line = element_line(size=.1, colour = "black"),
          plot.background …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

3
推荐指数
1
解决办法
804
查看次数

标签 统计

r ×2

ggplot2 ×1

labels ×1

margins ×1

string-length ×1