首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scatterplot3d -调整多边形/平面的大小

Scatterplot3d -调整多边形/平面的大小
EN

Stack Overflow用户
提问于 2019-01-23 12:57:37
回答 1查看 136关注 0票数 0

这是一个使用来自ISLR的数据集College的示例:

代码语言:javascript
复制
library(scatterplot3d)
library(ISLR)
attach(College)

s3d <- scatterplot3d(x=Top10perc, y=S.F.Ratio, z=PhD)
my.lm <- lm(Top10perc ~ S.F.Ratio + PhD)
plane <- s3d$plane3d(my.lm, lty.box = "solid", draw_polygon = TRUE)

我想增加灰色多边形(平面)的大小。来自scatterplot3d文档:

参数draw_linesdraw_polygon允许选择是通过线段表示平面,还是将平面分别表示为实体表面。polygon_args中的列表收集要传递给基础多边形调用的参数,该调用如果draw_polygon=TRUE绘制一个实心(或透明)平面。

polygon函数:

polygon(x, y = NULL, density = NULL, angle = 45, border = NULL, col = NA, lty = par("lty"), ..., fillOddEven = FALSE)

我想我需要在底层的x调用中更改polygony参数,但是我怎么做呢?我能进入他们吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-23 14:30:53

我想你画错了飞机。文档有点稀疏,但似乎s3d$plane3d假定z是响应变量,x是第一个预测器,y是第二个预测变量。但是即使我改变了你的代码来使用这些假设,例如。

代码语言:javascript
复制
library(scatterplot3d)
library(ISLR)

s3d <- with(College, scatterplot3d(z=Top10perc, x=S.F.Ratio, y=PhD))
my.lm <- lm(Top10perc ~ S.F.Ratio + PhD, data = College)
plane <- s3d$plane3d(my.lm, lty.box = "solid", draw_polygon = TRUE)

我没有一个好的情节:

似乎scatterplot3d并没有在边框的边框上剪裁飞机。

我用rgl得到了更好的飞机,

代码语言:javascript
复制
library(rgl)
library(ISLR)

with(College, plot3d(x=Top10perc, y=S.F.Ratio, z=PhD))
my.lm <- lm(Top10perc ~ S.F.Ratio + PhD, data = College)
coefs <- coef(my.lm)
planes3d(a = -1, b = coefs["S.F.Ratio"], c = coefs["PhD"], d = coefs["(Intercept)"],
         alpha = 0.2)

图可以旋转,但不像scatterplot3d输出那样好看(平面上没有网格),而且很难绘制:rgl::planes3d中没有对lm()结果的支持,因此需要仔细阅读帮助页面。也许其他人可以提供一个更好的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54327824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档