R 在stat\U bin2d中调整刻度填充蒸馏器的输出

R 在stat\U bin2d中调整刻度填充蒸馏器的输出,r,ggplot2,colors,R,Ggplot2,Colors,我可能有一个非常简单的问题,但我想不出答案。我正在使用diamonds数据集,并加载了包库(tidyverse)。我使用stat\u bin2d,创建了一个很好的绘图,可视化了price和carat之间的关系: ggplot(diamonds, aes(carat, price)) + stat_bin2d(bins = 50, colour = "white") 经过一番挖掘,我找到了一种方法来调整绘图中的颜色,因为我一直希望不同计数之间的颜色会变得更加清晰: ggplot(diamon

我可能有一个非常简单的问题,但我想不出答案。我正在使用
diamonds
数据集,并加载了包
库(tidyverse)
。我使用
stat\u bin2d
,创建了一个很好的绘图,可视化了
price
carat
之间的关系:

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")

然而,无论我使用哪种调色板,计数上的颜色分布似乎并不正确,因为大多数箱子都是黄色的(代表小计数)。我认为在原木秤上使用计数会给出更好的图像,因为计数越低的箱子承载的重量越大。但我不知道如何在代码中实现这一点。我相信一定有一个简单的解决办法,任何帮助都将不胜感激。谢谢。

一个很好的方法是在天平上使用变换。这很容易,只要你知道如何:

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')

谢谢,我知道这很容易!我也更喜欢你的第二个情节。我试图复制它,并在加载viridis包后收到以下错误消息:错误:对象“cividis”不是由“namespace:viridisLite”导出的。但一些挖掘工作解决了我的问题,现在它运行得很好。没错,我就是这么做的。但我需要在网上搜索才能找到答案。谢谢你的帮助!