Я не совсем уверен, что вы пытаетесь сделать, но используя ваш код, это будет примерно так:
library(readr)
library(dplyr)
library(scatterplot3d)
"ID Height Weight Class Count
1 0.75 0.98 6 13
2 0.62 0.11 2 18
3 0.33 0.13 3 300
4 0.34 0.15 4 43
5 0.67 0.14 5 2000" %>% read_table() -> APP
Height <- APP$Height
Weight <- APP$Weight
Class <- APP$Class
Count <- APP$Count
Count_rev <- max(Count) + min(Count) - Count
color <- c(rgb(0, 1, 0),
rgb(0.25, 0.75, 0),
rgb(0.5, 0.5, 0),
rgb(0.75, 0.25, 0),
rgb(1, 0, 0))
scatterplot3d(x=c(0.0, 0.45, 0.45, 0, 0),
y=c(0, 0, 0.45, 0.45, 0),
z=c(13, 13, 13, 13, 13), box=T, type='l', color='black', grid=F, lwd=2,
xlab='Height)', ylab='', zlab='Count',
xlim=c(0, 1), ylim=c(0, 1), zlim=c(13, 2000), angle=15, z.ticklabs = c(2000, 1500, 1000, 500, 13))
text(7, 0, 'Weight', srt=11)
par(new=T)
scatterplot3d(x=c(0.0, 0.45, 0.45, 0.0, 0.0),
y=c(0.55, 0.55, 1, 1, 0.55),
z=rep(13,5), box=F, type='l', color='black', grid=F, lwd=2,
xlab='', ylab='', zlab='', xlim=c(0, 1), ylim=c(0, 1),
zlim=c(13, 2000), axis=F, angle=15, z.ticklabs = c(2000, 1500, 1000, 500, 13))
par(new=T)
scatterplot3d(x=c(0.55, 1, 1, 0.55, 0.55),
y=c(0.0, 0.0, 0.45, 0.45, 0.0),
z=rep(13,5), box=F, type='l', color='black', grid=F, lwd=2,
xlab='', ylab='', zlab='', xlim=c(0, 1), ylim=c(0, 1),
zlim=c(13,2000), axis=F, angle=15, z.ticklabs = c(2000, 1500, 1000, 500, 13))
par(new=T)
scatterplot3d(x=c(0.55, 1, 1, 0.55, 0.55), y=c(0.55, 0.55, 1, 1, 0.55),
z=rep(13,5), box=F, type='l', color='black', grid=F, lwd=2,
xlab='', ylab='', zlab='', xlim=c(0, 1), ylim=c(0, 1),
zlim=c(13,2000), axis=F, angle=15, z.ticklabs = c(2000, 1500, 1000, 500, 13))
par(new=T)
for (i in 6:2) {
scatterplot3d(Height[Class==i], Weight[Class==i], Count_rev[rev(Class==i)],box=F,
pch=c(1,1,0,1,20)[i-1], color=color[i-1], grid=F, xlab='', ylab='',
zlab='', xlim=c(0, 1), ylim=c(0, 1),
zlim=c(13, 2000), axis=F, angle=15, z.ticklabs = c(2000, 1500, 1000, 500, 13)) # z.ticklabs
par(new=T)
}