[问题] 3D绘图问题

楼主: pinlateng (中肯不嘴砲)   2016-11-18 01:32:20
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
请把以下不需要的部份删除
新手(没写过程式,R 是我的第一次)
[问题叙述]:
我现在有一份人口学统计资料,想要用 3D 绘图方式呈现
目标是画出 地区 X 年分 X 人数的 3D 散布图 (或是折线图)
[程式范例]:
我先下载了scatterplot3d这个套件
因为我知道年份跟地区不能直接用于绘图,所以先用一般数字向量来处理
之后再用绘图软件补上标签,所以我的程式大概是这样
x <- c(1:24) #县市数目
y <- c(1:10) #十年份资料
f <- function (x,y) {dataframe[x,y]} # 10variables * 24obs的人口统计数据
z <- f(x,y)
最后跑 scatterplot3d(x,y,z)的时候跑出了这个:
Error in xyz.coords(x = x, y = y, z = z, xlab = xlabel, ylab = ylabel, :
'x', 'y' and 'z' lengths differ
因为我爬了网络的文章,里头的案例都是变量有所相关的数学函数
但我猜我这个问题应该是出在数值彼此没有函数的对应关系,所以画不出来
可是不知道怎么处理...Orz
[环境叙述]:
请提供 sessionInfo() 的输出结果,
里面含有所有你使用的作业系统、R 的版本和套件版本资讯,
让版友更容易找出错误
[关键字]:
3D绘图 社会统计 人口学 历时性资料
作者: andrew43 (讨厌有好心推文后删文者)   2016-11-18 01:44:00
不是这样使用的。x y z 参数是一样长的,表示每一个点的三维座标。你可以先把原始的资料摊平成一个data frame。
作者: cywhale (cywhale)   2016-11-18 07:13:00
可以用expand.grid(x,y)把x,y展开,得到和 z 同样长度
作者: ginseng21 (SweetCow)   2016-11-18 10:06:00
这样的呈现效果好吗?
作者: andrew43 (讨厌有好心推文后删文者)   2016-11-18 12:31:00
点很多通常会很可怕,需要投影或辅助线帮忙
作者: Edster (Edster)   2016-11-18 18:01:00
其实用动画处理更好吧,像是雨量图的动画。

Links booklink

Contact Us: admin [ a t ] ucptt.com