Установка col = параметр с помощью par () - PullRequest
0 голосов
/ 21 февраля 2019

Я хочу проиллюстрировать команду графического параметра R's par() с несколькими графиками, поэтому я сделал простую схему 2 × 2 с отличной графикой.Я добавил одну par (col = "green") команду, чтобы вызвать одну barplot() и три hist() ogram, но она ничего не сделала, чтобы я мог ее видеть.

Вот мой 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 голосов
/ 21 февраля 2019

tl; dr К сожалению, насколько я знаю, вы просто не можете этого сделать;Вы должны использовать col= в отдельных сюжетных вызовах.Выбрав ?par, мы находим:

Несколько параметров только могут быть установлены с помощью вызова par (): ...
Остальные параметры могут также быть установленным в качестве аргументов (часто через '...') высокоуровневых функций построения графиков ...
Однако , см. Комментарии к 'bg', 'cex',' col ',' lty ',' lwd 'и' pch ', которые могут быть приняты как аргументы для определенных функций построения, а не как графические параметры .

(выделение добавлено).

Я понимаю, что это означает, что bg et al. не может быть установлен глобально путем вызова 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)
 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...