绘制 3 个连续变量和一个布尔变量
Plotting 3 continuous variables and one boolean variable
我 运行 一些模拟探索 3D space 参数,并通过 TRUE 或 FALSE 记录给定模式的存在和不存在。这里有一些数据可以制作一个可重现的例子
v1 = 1:12
v2 = c(0.01, 0.1, 1, 10, 100, 1000)
v3 = c(0.001, 0.01, 0.05, 0.1, 2, 10, 20, 100)
data = expand.grid(v1, v2, v3)
names(data) = c("v1", "v2", "v3")
VResponse = c()
for (row in 1:nrow(data)) {if (data$v1[row] > 8 | data$v1[row] < 2) {if (data$v2[row] > 0.1){if (data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}} else {VResponse[row] = F}} else {if (data$v2[row] > 10 & data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}}}
data = cbind(data, VResponse)
我的目标是绘制一个图,显示 VResponse
为真的区域和 VResponse
为假的区域。我通过考虑三个变量中的两个并以两种不同颜色绘制 VResponse
(实际上使用 绘制区域),用 plot
和 ggplot
制作了二维图。我尝试使用 rgl
包中的 plot3d
绘制三维图,但我发现它不太方便。
除了能够有不同颜色的区域外,我还需要轴 v2
和 v3
以对数刻度显示。你能帮我使用这个假数据集吗?
仍然不确定您的问题可能是什么(在修正数学废话之后。)
require(rgl)
data$lv3<- log(data$v3)
data$lv2<- log(data$v2)
with(data, plot3d( v1,lv2,lv3, col=c("red","blue")[1+VResponse]))
#after some rotation with the cursor:
rgl.snapshot("out.png")
我 运行 一些模拟探索 3D space 参数,并通过 TRUE 或 FALSE 记录给定模式的存在和不存在。这里有一些数据可以制作一个可重现的例子
v1 = 1:12
v2 = c(0.01, 0.1, 1, 10, 100, 1000)
v3 = c(0.001, 0.01, 0.05, 0.1, 2, 10, 20, 100)
data = expand.grid(v1, v2, v3)
names(data) = c("v1", "v2", "v3")
VResponse = c()
for (row in 1:nrow(data)) {if (data$v1[row] > 8 | data$v1[row] < 2) {if (data$v2[row] > 0.1){if (data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}} else {VResponse[row] = F}} else {if (data$v2[row] > 10 & data$v3[row] > 0.1){VResponse[row] = T} else {VResponse[row] = F}}}
data = cbind(data, VResponse)
我的目标是绘制一个图,显示 VResponse
为真的区域和 VResponse
为假的区域。我通过考虑三个变量中的两个并以两种不同颜色绘制 VResponse
(实际上使用 plot
和 ggplot
制作了二维图。我尝试使用 rgl
包中的 plot3d
绘制三维图,但我发现它不太方便。
除了能够有不同颜色的区域外,我还需要轴 v2
和 v3
以对数刻度显示。你能帮我使用这个假数据集吗?
仍然不确定您的问题可能是什么(在修正数学废话之后。)
require(rgl)
data$lv3<- log(data$v3)
data$lv2<- log(data$v2)
with(data, plot3d( v1,lv2,lv3, col=c("red","blue")[1+VResponse]))
#after some rotation with the cursor:
rgl.snapshot("out.png")