Мои R-коды:
model0_1 <- lm(average_count ~ green_text + brand_names, data = data)
eff <- effect("green_text", model0_1)
Я попытался изобразить основной эффект green_text:
plot(eff,
x.var = "green_text",
xlab = "Types of Tweets",
ylab = "Average Count",
main = "Types of Tweets on Average Count",
colors = c("#1A9F12"),
grid = TRUE
)
Я попробовал изменить фон сюжета на серый с белой сеткой, чтобы он выглядел лучше. Однако я как бы потерял способы добиться этого. я пытался
rect(usr[1], usr[3], usr[2], usr[4], col = "lightgrey", border = NA)
но мой блокнот Jupyter всегда возвращает «Ошибка в rect(usr[1], usr[3], usr[2], usr[4], col = «lightgrey», border = NA):plot.new еще не вызывался ".
Чтобы это исправить, я попробовал
plot(eff,
x.var = "green_text",
xlab = "Types of Tweets",
ylab = "Average Count",
main = "Types of Tweets on Average Count",
colors = c("#1A9F12"),
grid = TRUE)
plt.new()
rect(usr[1], usr[3], usr[2], usr[4], col = "lightgrey", border = NA)
но затем сюжет и серый фон разделились надвое.
Я также видел поговорку: сюжет {effects} основан на {lattice} в r, поэтому установка par() не будет иметь никакого эффекта. Кто-нибудь знает, как этого добиться на основе plot(effect(...))? Спасибо заранее.





Это приближается. Это графики lattice, поэтому вам придется покопаться в документации ?plot.effect и документации пакета lattice (?lattice::trellis.par.set) для точной настройки.
library(effects)
lattice::trellis.par.set("panel.background", list(col = "gray"))
m1 <- lm(mpg ~ hp, data = mtcars)
e1 <- effect("hp", m1)
plot(e1, axes = list(grid = TRUE))
ОП предлагает
lattice::trellis.par.set(
reference.line = list(col = "#FFFFFF", lwd=2),
panel.background=list(col = "#F6F6F6"))
С помощью Бена я достиг своей цели с помощью следующих кодов: решетка::trellis.par.set(reference.line = list(col = "#FFFFFF", lwd=2),panel.background=list(col = "#) Ф6Ф6Ф6"))