我有一个文件,其中有一些由换行符分隔的矩阵。我可以将这些矩阵中的任何一个绘制为热图,如http://gnuplot.sourceforge.net/demo/heatmaps.html
所示然而,现在我想在同一图表上将所有矩阵可视化,方法是将每个矩阵绘制为增加的z值,其中每个点都是一个彩色点。我试图实现类似于以下问题的东西,
Plot 3D Grid Data as Heat Map using gnuplot
但没有立方体,因为点就足够了。
这是一个矩阵的数据:
methods.login = function(email,password){
model.fun.login(email, function(resPassword) {
if(password === resPassword){
console.log("success");
}
else {
console.log("failure");
}
})
}
答案 0 :(得分:3)
我不确定我是否理解正确,但似乎您希望每个矩阵都是固定(任意)z值的热图。
正如您发布的链接所提到的那样,制作一个类似的情节需要(至少据我所知)在gnuplot
上进行大量争论。但是,您可以通过以下方式获得一个粗略的想法:
set term png
set out "tmp.png"
set view 80,30
splot "tmp" matrix u 1:2:(2):3 w p pt 5 ps 0.75 pal,\
"tmp" matrix u 1:2:(1):3 w p pt 5 ps 0.75 pal,\
"tmp" matrix u 1:2:(0):3 w p pt 5 ps 0.75 pal
哪会给你:
不漂亮,但有效。您必须使用labels
,tics
和view
参数,具体取决于您拥有的矩阵数量。希望它有所帮助!
答案 1 :(得分:2)
您可以splot
每个矩阵with image
:
set ztics 1
set ticslevel 0
stats "data.dat" matrix nooutput
set xrange [-0.5:STATS_size_x - 0.5]
set yrange [-0.5:STATS_size_y - 0.5]
splot for [i=1:3] "data.dat" matrix using 1:2:(i):3 with image notitle
或者,根据您的需要,您还可以splot ... with pm3d
:
set view 70,23
set ztics 1
set ticslevel 0
set pm3d interpolate 5,5
set autoscale xfix
set autoscale yfix
splot for [i=1:3] "data.dat" matrix using 1:2:(i):3 with pm3d notitle