使用par()设置col =参数

时间:2019-02-21 00:36:05

标签: r r-base

我想用多个图形来说明R的par()图形参数命令,所以我做了一个简单的2×2布局,用图形表示非常好。我添加了一个par (col = "green")命令以生成一个barplot()和三个hist()图,但是它什么也看不到。

这是我的R脚本,该脚本应该是安全的,因为我在顶部和底部保存并恢复了图形设置。很抱歉,dput()很抱歉,但我希望您拥有我拥有的数据。

    savedGraphicsParams <- par(no.readonly=TRUE)
    layout(matrix(c(1, 2, 3, 4), nrow=2, byrow=TRUE))
    par(col = "green") # doesn't work

    attach(Lakes)

    # GRAPH 1:
    barplot(table(N_of_Fish), main="Fish", xlab = "No. of Fish")

    # GRAPH 2:
    hist(Elevation, main = "Elevation", xlab = "ft")

    # GRAPH 3
    hist(Surface_Area, main="Surface Area", xlab = parse(text="ft^2"))

    # GRAPH 4
    hist(`, main="Max Depth", xlab = "ft")

    detach(Lakes)     

par(savedGraphicsParams) # Reset the graphics

1 个答案:

答案 0 :(得分:0)

tl; dr 不幸的是,据我所知,您无法做到这一点;您必须在各个绘图调用中使用col=。通过选择?par,我们发现:

  

只能通过调用“ par()”来设置几个参数:...
  剩余的参数也可以设置为(通常通过        ‘...’)到高级绘图功能...
  但是,请参阅“ bg”,“ cex”,“ col”,“ lty”,        “ lwd”和“ pch” 可能被视为某些情节的参数        功能而不是图形参数

(添加了重点)。

我将其解释为bg等人的意思。不能通过调用par()来全局设置 (即使它们在?par中进行了描述和讨论),但必须必须设置为参数单独的绘图调用。我将以这种方式编写代码(也避免使用attach(),即使在其自己的手册页中也建议不要使用它……)

plot_col <- "green"
with (Lakes,
 {
  barplot(table(N_of_Fish), main="Fish", xlab = "No. of Fish", col=plot_col)
  hist(Elevation, main = "Elevation", xlab = "ft", col=plot_col)
  hist(Surface_Area, main="Surface Area", xlab = parse(text="ft^2"), col=plot_col)
  hist(Maximum_Depth, main="Max Depth", xlab = "ft", col=plot_col)
 })