我真的很喜欢利用基数R plot
函数的120多种绘图方法,向其扔随机对象并检查结果。
这次,我刚发送了一个基本data.frame
和一个factor
变量。我喜欢出现的情节,但无法改变其颜色。
绘制情节:
library(dplyr)
set.seed(123)
dd <- data.frame(FF = cut(runif(1000,0,100), seq(0,100,10)),
XX = rnorm(1000, 10, 2)) %>%
group_by(FF) %>%
summarize(XX=mean(XX))
使用plot(dd)
进行绘制可以得出:
我希望这些条形不是黑色。我尝试了明显的plot(dd, col="red")
,但是它什么也没做。与fg
或bg
相同,我也尝试过。
我查看了?plot.data.frame
和?plot.factor
,但没有看到有关如何更改颜色的任何提示。构建此图的实际功能是什么?如何调用它以及如何更改其颜色?
答案 0 :(得分:5)
plot
似乎正在尝试制作箱线图,但是由于每个类别只有一个值,因此只能得到一条水平线。 border="red"
会将颜色更改为红色。如果您运行x = plot(dd)
然后检查x
,您会看到它是一个列表,其中第一个元素包含箱线图统计信息。
plot
是一个“通用”函数,它根据您提供给plot
的对象类型来“分派”不同的实际绘图函数(称为“方法”)。在这种情况下,您有一个分类的x轴变量,因此plot
调度了一个产生箱形图的“方法”。
要查看plot
可以调用哪些特定功能,请运行methods(plot)
。我没有检查,但是我怀疑plot.data.frame
函数最终会调用一个函数,该函数在x变量是分类变量而y变量是数字变量时运行(生成graphics:::plot.data.frame(dd)
,以查看此情况)。
如果在汇总前运行plot
,则会看到框线出现:
library(dplyr)
set.seed(123)
dd <- data.frame(FF = cut(runif(1000,0,100), seq(0,100,10)),
XX = rnorm(1000, 10, 2))
plot(dd, border="red")
dd %>%
group_by(FF) %>%
summarize(XX=mean(XX)) %>%
plot(border="red")