R 使用镶嵌面包裹的单个渐变填充

R 使用镶嵌面包裹的单个渐变填充,r,ggplot2,data-visualization,R,Ggplot2,Data Visualization,我试图实现一个输出,其中填充梯度独立于每个直方图。我知道我可以制作单独的绘图,然后使用grid.arrange将它们组合在一起,但我希望这可以用于具有任意列数的数据集 感谢您的帮助 顺便说一句,我会包括一张图片,但我没有声誉点数 # rm(list=ls()) var_his <- function(this_data){ this_data <- melt(this_data) ggplot(this_data, aes(x = value)) +

我试图实现一个输出,其中填充梯度独立于每个直方图。我知道我可以制作单独的绘图,然后使用grid.arrange将它们组合在一起,但我希望这可以用于具有任意列数的数据集

感谢您的帮助

顺便说一句,我会包括一张图片,但我没有声誉点数

# rm(list=ls())

var_his <- function(this_data){
    this_data <- melt(this_data)
    ggplot(this_data, aes(x = value)) + 
        geom_histogram(aes(x = value, y = ..density.., fill = ..count..), position="identity") +  
        facet_wrap(~variable, scales = "free") +
        scale_fill_gradient('count', low='lightblue', high='steelblue')
}

data(Seatbelts)
data <- data.frame(Seatbelts)
var_his(data)
#rm(list=ls())

var_his不将
rm(list=ls())
放在示例代码中。许多人可能会试图帮助您进行工作会话,而这些会话将被代码清除。这就是为什么我把它注释掉了,但实际上它根本不应该存在。你只能有一个填充颜色比例(只有一个图例有一组值)。如果您希望能够比较相对频率,可以将所有数据缩放到0/1范围或其他范围,否则您将无法为每个方面重新定义比例。