何时在R中用ggplot绘图时使用factor()?

时间:2013-02-25 15:44:37

标签: r ggplot2

您通常何时使用factor在R中的ggplot2中对变量进行颜色/大小编码?例如:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear))

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear)))

当用于确定形状/大小/颜色的变量是离散的而不是连续的时,一般规则是使用factor吗?或者在这种情况下还有factor的另一种用法吗?看起来第一个命令可以像第二个命令一样使用正确的图例,即使没有factor也是如此。感谢。

编辑:当我使用colour=gear时,我得到了这个: enter image description here

1 个答案:

答案 0 :(得分:7)

问题不是传说,而是颜色的选择。当它不是一个因子时,这些点是相同色调的不同色调:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear))

enter image description here

这传达了连续的点,因此对于一组独立的可能性来说并不理想。 (事实上​​,一旦你达到五六种可能性,颜色就很难彼此区分开来。)

gears 被视为一个因素时,颜色会被选择为可区分:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear)))

enter image description here

请注意,如果您在未使用factor时未获得渐变图,则应尝试升级到更新版本的ggplot2