我可能有一个非常简单的问题,但我无法弄清楚答案。我正在使用diamonds
数据集,并加载了包library(tidyverse)
。我创建了一个很好的情节,使用price
可视化carat
和stat_bin2d
之间的关系:
ggplot(diamonds, aes(carat, price)) +
stat_bin2d(bins = 50, colour = "white")
经过一番挖掘后,我找到了一种方法来调整绘图中的颜色,因为我一直希望不同计数之间的颜色会变得更加鲜明:
ggplot(diamonds, aes(carat, price)) +
stat_bin2d(bins = 50, colour = "white") +
scale_fill_distiller(palette = "Set2")
然而,无论我使用哪种调色板,计数上的颜色分布似乎都不正确,因为大多数箱子都是黄色的(代表小数量)。我认为使用对数刻度计数可以得到更好的图像,因为具有较低计数的箱子会带来更多的重量。但我不知道如何在代码中实现这一点。我相信必须有一个简单的解决方案,任何帮助都将非常感激。谢谢。
答案 0 :(得分:1)
这样做的一个好方法是在比例尺上使用转换。一旦你知道如何,这很容易:
ggplot(diamonds, aes(carat, price)) +
stat_bin2d(bins = 50, colour = "white") +
scale_fill_distiller(palette = "Set2", trans = 'log10')
事情变得更清晰(在我看来)有更好的调色板:
ggplot(diamonds, aes(carat, price)) +
stat_bin2d(bins = 50, colour = "white") +
viridis::scale_fill_viridis(trans = 'log10')