温馨提示:本文翻译自stackoverflow.com,查看原文请点击:r - ggplot2 not using default colors on fresh install. Appears to be viridis

r - ggplot2在全新安装上未使用默认颜色。

发布于 2020-03-27 11:46:14

在研究Wickham的书ggplot2中的一些示例时,我注意到离散点图使用的是翠绿颜色,该颜色已在其他地方安装和使用,但不是该图的比例。

今天早上第一次在该计算机上安装了R。即使在RStudio之外运行它,也能获得相同的效果。我卸载了R和Rstudio,删除了我的文档和程序文件中的R文件夹。从与以前相同的exe下载中重新安装。

全新安装并带有以下代码片段,结果相同。未安装viridis。

没有足够的图像代表:

在此处输入图片说明

install.packages("tidyverse")
library(tidyverse)

colorcut = diamonds %>%
  group_by(color, cut) %>%
  summarize(
    price = mean(price),
  )

ggplot(colorcut, aes(color, price, color = cut)) +
  geom_point()

查看更多

查看更多

提问者
Hunter
被浏览
32
MrFlick 2019-07-03 23:39

如上所述,自v3.0.0起,viridis是有序因子(不是“常规”因子)的新默认值您可以手动指定所需的调色板

ggplot(colorcut, aes(color, price, color = cut)) +
  geom_point() + 
  scale_color_hue()

如果您真的不希望有序因素开始,则可以删除有序标志。这是一个可以使因素无序的函数,因此可以为您提供默认的颜色

unorder <- function(x) {
  class(x) <- setdiff(class(x), "ordered")
  x
}

ggplot(colorcut, aes(color, price, color = unorder(cut))) +
  geom_point()

在此处输入图片说明

“无序因素”仍将保留其水平。在某些情况下,仅在使用序数变量的方法而不是离散变量的方法时才使用有序因子来表示。但通常它们的行为方式相同。