我有一组严重偏斜的数据.这在执行stat_bin2d绘图时会产生问题.结果是大多数图形是深蓝色,只有几个点是不同的颜色.我想让图表使用整个颜色范围更多一点.
问题的一个例子来自ggplot文档方向.
ggplot(diamonds, aes(carat, price)) + stat_bin2d()
Run Code Online (Sandbox Code Playgroud)
结果图只有少数几个不是深蓝色的位置.
如何调整颜色范围的映射以显示更多细节?我知道我可以设置限制,但这并不完全符合法案,因为它使任何超出限制的东西都是灰色的.
ggplot(diamonds, aes(carat, price)) + stat_bin2d() + scale_fill_gradient(limits=c(1, 100))
Run Code Online (Sandbox Code Playgroud)
像这样的东西,它们的颜色也是灰色的.
快速回答是
ggplot(diamonds, aes(carat, price)) + stat_bin2d() +
scale_fill_gradient(trans="log10")
Run Code Online (Sandbox Code Playgroud)
编辑: 更长的答案是你可能想要某种颜色或填充比例的转换.有关内置转换,请参阅"另请参阅"部分
library(scales)
?trans
Run Code Online (Sandbox Code Playgroud)
如果内置转换都不合适,那么您可以构建自己的转换.有关如何执行此操作的示例,请参阅有关转换色阶的此问题的答案.