【问题标题】:Colour difference in plot between normal variable and factor variable正常变量和因子变量之间的绘图颜色差异
【发布时间】:2018-02-13 17:18:21
【问题描述】:

我在 mtcars 数据集上使用plot 函数。

我正在尝试根据 mtcars$cyl 变量为绘图添加颜色

cyl 变量中的不同值是 4,6 和 8

首先我尝试了这个:

plot(x=mtcars$wt, y=mtcars$mpg, col = mtcars$cyl)

我在蓝色、紫色和灰色颜色上绘制了点。

然后我将cyl 变量转换为因子并再次尝试相同的情节,

mtcars$fcyl <- as.factor(mtcars$cyl)

plot(x=mtcars$wt, y=mtcars$mpg, col = mtcars$fcyl)

但这次我得到了黑色、红色和绿色

我想了解将变量分配为因子如何改变颜色。后面发生了什么?

【问题讨论】:

  • 因子正在将您的连续数据转换为分类数据(基本上是整数),这些因子可能与排序数字的顺序不同,我猜因子 plot 尝试均匀分布这些值在调色板上。对于连续值,显然两个接近的值将分配给接近的颜色。

标签: r plot colors


【解决方案1】:

我想了解将变量分配为因子如何改变颜色。后面发生了什么?

在 R 中,因子只是底层的整数。在 plot 函数中,整数被转换为八种不同的颜色(重复),即 8 种颜色可以在视觉上分离。

试试这个:

plot(x=1:16, y=1:16, col = 1:16, pch=16)

【讨论】:

  • 谢谢,但我不完全明白。您是说如果使用因子,原始值 (4,6,8) 将在内部转换为整数?根据颜色,看起来它们已转换为 1,2 和 3。正确吗?
  • 试试as.numeric(factor(mtcars$cyl))
  • 谢谢。明白了:)
猜你喜欢
  • 2019-06-25
  • 2016-10-16
  • 2018-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2018-04-02
  • 1970-01-01
相关资源
最近更新 更多