我正在尝试在两个图之间进行比较,因此我需要它们都具有相同的色标,这样才能进行真正的比较。我已经尝试了一段时间来更改geom_hex的色阶,但是我只能找到提供最小/最大截止值的方法。无论如何,是否有手动将比例尺设置为定义的范围,例如1-100?我的绘图代码和示例如下。
ggplot() +
geom_hex(aes(x=VolumeBefore$Flow, y=SpeedBefore$Speed)) +
xlab("Flow") + ylab("Speed (MPH)")+
theme(legend.justification=c(1,0), legend.position=c(1,0), text = element_text(size = 20)) +
ggtitle('Speed-Flow Before Density Plot')
ggplot() +
geom_hex(aes(x=VolumeAfter$Flow, y=SpeedAfter$Speed)) +
xlab("Flow") + ylab("Speed (MPH)")+
theme(legend.justification=c(1,0), legend.position=c(1,0), text = element_text(size = 20)) +
ggtitle('Speed-Flow After Density Plot')
在这两张图片中,您可以看到比例不同,我只想使它们相同:) 谢谢!
答案 0 :(得分:1)
这是使用scale_fill_gradient2
和oob = scales::squish
的一种方法,可让您指定填充的上下限,并限制超出该范围的任何值。
请注意,如果没有规格说明,填充将使用数据中的全部密度:
ggplot(diamonds) +
geom_hex(aes(x=carat,y=price)) +
scale_fill_gradient2()
我们可以选择直接指定范围,将超出范围的任何内容都限制在该范围内。这样您就可以匹配多个图的图例范围:
ggplot(diamonds) +
geom_hex(aes(x=carat,y=price)) +
scale_fill_gradient2(limits = c(0, 3000), oob = scales::squish)