相关疑难解决方法(0)

ggplot条形图与分面依赖的类别顺序

我已经看到很多问题(通常与ggplot2条形图中的订单栏相关)关于如何(重新)在条形图中对类别进行排序.

我所追求的只是一个不同的触摸,但我还没有找到一个好方法:我有一个多面条形图,我想根据另一个变量独立地为每个面定购x轴(在我的例子中,该变量只是y值本身,即我只希望条形在每个方面增加长度).

简单示例,遵循例如ggplot2条形图中的订单栏:

df <- data.frame(name=c('foo','bar','foo','bar'),period=c('old','old','recent','recent'),val=c(1.23,2.17,4.15,3.65))
p = ggplot(data = df, aes(x = reorder(name, val), y = val))
p = p + geom_bar(stat='identity')
p = p + facet_grid(~period)
p
Run Code Online (Sandbox Code Playgroud)

我们得到的是以下内容: 在此输入图像描述

而我想要的是: 在此输入图像描述

r ggplot2 geom-bar

18
推荐指数
3
解决办法
2万
查看次数

完美地对齐几个图

我的目标是一个复合图,它结合了散点图和2个图来进行密度估算.我面临的问题是由于密度图的缺失轴标记和散点图的图例,密度图未能与散点图正确对齐.它可以通过播放arround来调整plot.margin.但是,这不是一个更好的解决方案,因为如果对图形进行更改,我将不得不一遍又一遍地进行调整.有没有办法以某种方式定位所有绘图,以便实际绘图面板完美对齐?

在此输入图像描述

我尽量保持代码尽可能小,但为了重现问题,它仍然是相当多的.

library(ggplot2)
library(gridExtra)

df <- data.frame(y     = c(rnorm(50, 1, 1), rnorm(50, -1, 1)), 
                 x     = c(rnorm(50, 1, 1), rnorm(50, -1, 1)), 
                 group = factor(c(rep(0, 50), rep(1,50))))


empty <- ggplot() + 
              geom_point(aes(1,1), colour="white") +
              theme(                              
                plot.background = element_blank(), 
                panel.grid.major = element_blank(), 
                panel.grid.minor = element_blank(), 
                panel.border = element_blank(), 
                panel.background = element_blank(),
                axis.title.x = element_blank(),
                axis.title.y = element_blank(),
                axis.text.x = element_blank(),
                axis.text.y = element_blank(),
                axis.ticks = element_blank()
              )


scatter <-  ggplot(df, aes(x = x, y = y, color = group)) …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

6
推荐指数
2
解决办法
1941
查看次数

标签 统计

ggplot2 ×2

r ×2

geom-bar ×1