我有一个具有以下结构的CSV文件:
userID, movieID, rating
12,1,3
13,1,3
16,1,5
18,1,5
20,1,5
22,1,5
29,1,5
54,1,3
55,1,4
57,1,4
58,1,5
63,1,5
72,1,4
73,1,5
75,1,4
78,1,3
79,1,5
82,1,4
84,1,5
96,1,4
97,1,5
这是我的谦虚代码:
TrainingData = load('ratings.csv');
Z = TrainingData(1:5,:);
figure
bar3(Z)
title('Detached Style')
我想绘制至少10行,包括用户,电影和评分。
情节看起来像这样:
例如,我想要y轴上的用户,x轴上的影片以及z轴上的收视率。
能给我一个提示吗?
答案 0 :(得分:2)
这是我的实现方式:
library(plot3D)
data <- read.csv('data.csv')
x = c(seq(1, dim(data)[1], by=1))
y = c(seq(1, dim(data)[2], by=1))
zval = c(paste(unlist(t(data)), collapse=","))
zval = as.integer(as.list(strsplit(zval, ","))[[1]])
z = matrix(zval, nrow= dim(data)[1], ncol= dim(data)[2], byrow=TRUE)
hist3D(x,y,z, zlim=c(1,100), theta=120, phi=40, axes=TRUE,label=TRUE, nticks=5, ticktype="detailed", space=0.4, lighting=TRUE, light="diffuse", shade=0.5)
在上面的代码中,x轴表示行,y轴表示数据中的列,z轴表示相应的值。 最左边的列是数据中的第一列,然后是中间的列,然后是最右边的列。
总是有一个需要改进的地方,但这肯定会让您知道如何做。
我希望这会对您有所帮助。