首页 > 解决方案 > R中的“localgauss”包 - 绘图问题

问题描述

我正在尝试从 R 教程('localgauss',https: //www.jstatsoft.org/article/view/v056i12 )复制第 8 页的代码,以获得第 9 页的图形。我运行以下代码:

install.packages("localgauss")

library("localgauss")
x <- rnorm(1000)
y <- 0.6 * x + sqrt(1 - 0.6^2) * rnorm(1000)
xy.mat <- rbind(c(-1, 1), c(0, 0), c(1, 1))
lg.out2 <- localgauss(x = x, y = y, b1 = 1, b2 = 1, gsize = 15, hthresh = 0.01)

plot(lg.out2, plot.text = FALSE, plot.points = TRUE)

但是,我得到的不是第 9 页上的图,而是下图,它只是一个没有颜色的散点图:

在此处输入图像描述

在过去,此代码一直运行没有问题。

我的第一个想法是该gglpot2功能有问题,我尝试使用远程功能安装旧版本的软件包: remotes::install_version("ggplot2", "2.2.1") 但不幸的是仍然问题依然存在。

顺便说一句,我使用的是 R 版本 4.0.3 (2020-10-10)

标签: rggplot2

解决方案


多年前,绘图程序已从图书馆中删除。这可能会有所帮助:

library("localgauss")
x=rnorm(n=1000)
y=x^2 + rnorm(n=1000)
lgobj = localgauss(x,y)    

df<-data.frame(
  x=lgobj$xy.mat[,1],
  y=lgobj$xy.mat[,2],
  z=lgobj$par.est[,'rho']
)

cols <- rev(rainbow(7)[-7])
ggplot(df , aes(x = df$x, y = df$y, fill=df$z)) +
  geom_raster(interpolate=F) +
  scale_fill_gradientn(colours = cols)

推荐阅读