如何编辑现有的直方图(或任何图表)?

时间:2013-01-20 15:00:35

标签: r histogram

我正在完成一个R教程。目前我正在制作直方图。随着教程的进展,它要求更改已经构建的直方图 - 添加一个xlab,添加main等等。

除非我每次都要从头开始创建直方图,否则这很好。

如何编辑现有内容而不是再次写出所有代码?将直方图作为对象并且每次只编辑它是一个问题吗?我试过了。让我们说我从这开始:

hearthist <- hist(outcome[,11])

然后我想添加一个xlabel。我毫不高兴地尝试了这个:

hearthist (xlab="30-Day Death Rate")

这里最好的做法是什么?每次要添加参数时,是否需要重新创建新的直方图?

2 个答案:

答案 0 :(得分:5)

没有;基本图形在纸上使用笔成语;一旦你得到一个标记,直到你得到一张新纸。

因此,请使用学习适当的工具。在这种情况下,一个R-aware编辑器,您可以编写R代码并将其传输到正在运行的R实例中。我使用ESS和Emacs,但是kool孩子们使用RStudio。给后者一个。

即使是标准的普通旧R也有一种历史机制,允许您向后滚动命令并从命令行重新运行它们。

或者学会使用适当的R工具。 title()允许您添加 xlabylabmainsub到现有的地块。

答案 1 :(得分:2)

您正在尝试构建一个场景。我的意思是你在基本情节中添加更多输出。 我认为图形包在视觉上解码绘图信息方面不是很灵活。

我会使用其他R-graphics pacakge,比如基于网格包的Lattice / ggplot2,它更适合这种操作。

这里有一个使用ggplot2的例子:

set.seed(1234)
df <- data.frame(cond = factor( rep(c("A","B"), each=200) ), 
                 rating = c(rnorm(200),rnorm(200, mean=.8)))
ggplot(df, aes(x=rating)) + geom_histogram(binwidth=.5)

现在我编辑原始场景的xlab:

last_plot()+xlab("30-Day Death Rate")