首页 > 解决方案 > geom_contour_filled 调色板

问题描述

我试图运行以下代码,但似乎无法将调色板更改为 ColorBrewer 的 Spectral 调色板。想法?

maya <- tibble(
  mass = seq(1, 10, length.out = 10),
  mois = seq(11, 20, length.out = 10)
) %>%
  expand(mass, mois) %>%
  mutate(
    diff = mois - mass * runif(1)
  ) %>%
  ggplot(aes(mass,mois,z = diff)) +
    geom_contour_filled() +
    scale_fill_distiller(palette = "Spectral")
maya

标签: rggplot2colorbrewer

解决方案


如果我理解正确,也许您正在追求诸如geom_rasterwithinterpolate = TRUE和的组合之类的东西scale_fill_distiller

library(tidyverse)

tibble(
  mass = seq(1, 10, length.out = 10),
  mois = seq(11, 20, length.out = 10)
) %>%
  expand(mass, mois) %>%
  mutate(
    diff = mois - mass * runif(1)
  ) %>%
  ggplot(aes(mass,mois,fill = diff)) +
  geom_raster(interpolate = TRUE) +
  scale_fill_distiller(palette = "Spectral")

reprex 包(v0.2.1)于 2020-04-13 创建

为了扩展,scale_fill_distiller可以插值色标以适应连续的值范围,但实际上它不能像原来那样插值您的数据。据我所知,geom_contour_filled两者都没有内置这样的功能。因此,我认为您要么需要在绘图之前手动进行插值,要么依赖于geom_raster.


推荐阅读