Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R Geom_density_2d_filled()ggplot:(1)如何在所有点周围绘制轮廓,(2)如何更改渐变颜色?_R_Ggplot2 - Fatal编程技术网

R Geom_density_2d_filled()ggplot:(1)如何在所有点周围绘制轮廓,(2)如何更改渐变颜色?

R Geom_density_2d_filled()ggplot:(1)如何在所有点周围绘制轮廓,(2)如何更改渐变颜色?,r,ggplot2,R,Ggplot2,我有两个问题,我无法理解我们的谷歌: 数据和图形: x = rnorm(n = 500, mean = 0.5, sd = 0.3) y = rnorm(n = 500, mean = 6, sd = 1) data = merge(x, y, by = "row.names", all = TRUE) data %>% ggplot(aes(x, y))+ geom_density_2d_filled(contour_var = "ndensity&q

我有两个问题,我无法理解我们的谷歌:

数据和图形:

x = rnorm(n = 500, mean = 0.5, sd = 0.3)
y = rnorm(n = 500, mean = 6, sd = 1)
data = merge(x, y, by = "row.names", all = TRUE)

data %>% ggplot(aes(x, y))+
  geom_density_2d_filled(contour_var = "ndensity", bins = 5)+
  theme_classic()

(1) 如何围绕所有点绘制轮廓?目前,20%的值与背景颜色相同。是否应添加新层


(2) 如何将背景色更改为白色,将渐变色更改为brewer“Blues”调色板(0以上的所有值都应具有与白色背景不同的蓝色)?

您可能希望将统计数据与几何图形分离,因为
geom_density_2d_filled()
绘制多边形,但也包括作为矩形的外层

以下是我的建议:

x = rnorm(n = 500, mean = 0.5, sd = 0.3)
y = rnorm(n = 500, mean = 6, sd = 1)
data = merge(x, y, by = "row.names", all = TRUE)

data %>% ggplot(aes(x, y))+
  stat_density_2d(geom = "polygon", contour = TRUE,
                  aes(fill = after_stat(level)), colour = "black",
                  bins = 5) +
  scale_fill_distiller(palette = "Blues", direction = 1) +
  theme_classic()

您可能希望将stat与geom解耦,因为
geom\u density\u 2d\u filled()
绘制多边形,但也将外层作为矩形

以下是我的建议:

x = rnorm(n = 500, mean = 0.5, sd = 0.3)
y = rnorm(n = 500, mean = 6, sd = 1)
data = merge(x, y, by = "row.names", all = TRUE)

data %>% ggplot(aes(x, y))+
  stat_density_2d(geom = "polygon", contour = TRUE,
                  aes(fill = after_stat(level)), colour = "black",
                  bins = 5) +
  scale_fill_distiller(palette = "Blues", direction = 1) +
  theme_classic()

多亏了teunbrand!但这些点仍然在轮廓线之外

set.seed(2)
data %>% ggplot(aes(x, y))+
  stat_density_2d(geom = "polygon", contour = TRUE,
                  aes(fill = after_stat(level)), colour = "black",
                  bins = 5)+
  geom_point()+
  scale_fill_distiller(palette = "Blues", direction = 1) +
  theme_classic()

多亏了teunbrand!但这些点仍然在轮廓线之外

set.seed(2)
data %>% ggplot(aes(x, y))+
  stat_density_2d(geom = "polygon", contour = TRUE,
                  aes(fill = after_stat(level)), colour = "black",
                  bins = 5)+
  geom_point()+
  scale_fill_distiller(palette = "Blues", direction = 1) +
  theme_classic()

非常感谢您!但是如果我添加geom_point()层,那么一些点位于等高线之外。请检查下一个回复。在统计中,您可以设置
breaks=c(0.01,0.1,0.2,0.3,0.4,0.5)
例如,而不是
bin
。第一个数字应该非常小,但大小取决于数据。但它会在数据边界留下难看的边缘。谢谢你的解决方案!!!我可以再问一件事吗?有没有办法缩小最大轮廓和点之间的距离?请检查最后一篇文章的图。我不确定你说的“最大轮廓和点之间的空间”是什么意思,我也不知道你说的最后一篇文章的图是什么意思。非常感谢!但是如果我添加geom_point()层,那么一些点位于等高线之外。请检查下一个回复。在统计中,您可以设置
breaks=c(0.01,0.1,0.2,0.3,0.4,0.5)
例如,而不是
bin
。第一个数字应该非常小,但大小取决于数据。但它会在数据边界留下难看的边缘。谢谢你的解决方案!!!我可以再问一件事吗?有没有办法缩小最大轮廓和点之间的距离?请检查最后一篇文章的图。我不确定你所说的“最大轮廓和点之间的空间”是什么意思,我也不知道你所说的最后一篇文章的图是什么意思。事实上,点在轮廓线之外是分析的本质。等高线是箱子,根据定义,有5个。第五个(白色)是点所在的位置。如果你增加到bins=75,你的分数将在蓝色区域,但这可能不是你想要的样子。我可能猜你想要一个跟踪,它看起来像是沿着极端数据点,就像煎蛋设计周围的另一层,但从统计学上来说,这没有什么意义。事实上,点在轮廓线之外是分析的本质。等高线是箱子,根据定义,有5个。第五个(白色)是点所在的位置。如果你增加到bins=75,你的分数将在蓝色区域,但这可能不是你想要的样子。我可能猜你想要一个跟踪,它看起来像是沿着极端数据点,就像煎蛋设计的另一层,但从统计学上来说,这不是很有意义。