相关疑难解决方法(0)

带表达式的ggplot2双行标签

我想用两个expression()语句写一个轴标签.但是,plotmath并且expression不允许这样(例如,下标文本出现在最右侧).我在大约2005年发现了类似问题的讨论,但他们提供的工作并没有转化为我在ggplot2中的应用程序.最近的一个问题解决了多行表达式语句的不同排列,但是这里提供的工作再次不适用于此.

例:

p <- ggplot(mtcars,aes(x=wt,y=mpg))+
  geom_point()+
  xlab(expression(paste("A long string of text goes here just for the purpose \n of illustrating my point Weight "[reported])))
try(ggsave(plot=p,filename=<some file>,height=4,width=6))
Run Code Online (Sandbox Code Playgroud)

产生一个图像,其中下标"报告"在我希望它位于前一个单词旁边时向右踢出. ggplot2带有表达式的两行标签

r ggplot2

53
推荐指数
4
解决办法
7万
查看次数

多行图例文本,包括带ggplot的指数

随着ggplot,我想添加一个靠左对齐图例标题多行和指数在文本图例中的值的单位.我正在绘制类似于以下形式的数据:

leakage_rates_levels <- c(5.4, 0.25)
leakage_rates <- as.factor(rep(leakage_rates_levels, 3))  # L/s-m^2 at 75 Pa
data_groups_levels <- c('Set 1', 'Set 2', 'Set 3')
data_groups <- as.factor(rep(data_groups_levels, each=2))
moisture_level <- c(7, 3, 11, 10, 16, 6)
plotdt <- data.frame(data_groups, leakage_rates, moisture_level)
Run Code Online (Sandbox Code Playgroud)

我用来expression()向图例中的单位添加指数.以下代码生成所需的图形,但图例标题文本格式错误.

ggplot(plotdt, aes(data_groups)) +
  geom_bar(aes(weight=moisture_level, fill=leakage_rates), position='dodge') +
  labs(y='Moisture Level') +
  labs(fill=expression(paste('Leakage Rate\nat 75 Pa\n(L/s-', m^2, ')', sep=''))) +
  theme(panel.grid.major.x = element_blank(),
        axis.title.x = element_blank())
Run Code Online (Sandbox Code Playgroud)

除了最后一行之外,图例标题显示为左对齐,最后一行在其中间有一堆无关的空格.

三行图例文本,其中第三行表示单位,升每秒米的平方,但米的平方项被推到右边距,而所有其他文本左对齐,在第三行的中间留下一个大的空白区域.

使用legend_title_align=0(建议在这里)和/或legend_title=element_text(hjust=1)theme()没有任何效果.试图添加phantom()间距也没有用(这里建议). …

r ggplot2

6
推荐指数
1
解决办法
355
查看次数

标签 统计

ggplot2 ×2

r ×2