ggplot 2 plot使用wesanderson -连续值提供给离散标度误差

lsmepo6l  于 2024-01-03  发布在  其他
关注(0)|答案(1)|浏览(355)

我有这个包含20个cty组的数据框的代码。我希望为每个特定的cty值绘制/分配一个基于Wes安德森调色板的颜色(包(“Wesanderson”)。
代码:

  1. library(ggplot2)
  2. library(wesanderson)
  3. df <- mpg[, c("displ","cyl", "cty", "hwy" )]
  4. df[-222,]
  5. pal <- wes_palette(20, name = "Zissou1", type = "continuous")
  6. ggplot(df, aes(x=hwy, y=displ, group=cyl)) +
  7. geom_point(aes(color=cty)) + scale_color_manual(values= pal)

字符串
但我得到一个错误:

  1. Error in `train_discrete()`:
  2. ! Continuous value supplied to a discrete scale
  3. Run `rlang::last_trace()` to see where the error occurred.


你知道怎么解决吗
此外,由于一些调色板有4种颜色(例如,GrandBudapest 1、GrandBudapest 2、Moonrise 1、Moonrise 2和Chevalier 1),是否有方法将这5种颜色组合成20种颜色的新调色板?
谢谢.

3duebb1j

3duebb1j1#

绘图前将cty转换为factor

  1. df$cty <- as.factor(df$cty)

字符串


的数据

或使用渐变渐变

  1. ggplot(df, aes(x = hwy, y = displ, group = cyl)) +
  2. geom_point(aes(color = cty)) +
  3. scale_color_gradient()


展开查看全部

相关问题