Gnuplot 在三维散点图中绘制高度矩阵列表
我有一个文件,其中有许多矩阵,用换行符分隔。我可以将这些矩阵中的任何一个绘制为热图,如中所示 然而,现在我想通过以z的递增值绘制每个矩阵,将所有矩阵一起显示在同一个图形上,其中每个点是一个彩色点。我正在努力实现类似以下问题的目标 但是没有立方体,因为点就足够了 这是一个矩阵的数据:Gnuplot 在三维散点图中绘制高度矩阵列表,gnuplot,heatmap,scatter,Gnuplot,Heatmap,Scatter,我有一个文件,其中有许多矩阵,用换行符分隔。我可以将这些矩阵中的任何一个绘制为热图,如中所示 然而,现在我想通过以z的递增值绘制每个矩阵,将所有矩阵一起显示在同一个图形上,其中每个点是一个彩色点。我正在努力实现类似以下问题的目标 但是没有立方体,因为点就足够了 这是一个矩阵的数据: 7.606193E-01 -2.706752E-01 1.605924E-01 9.973101E-01 6.646065E-01 -4.177295E-01 -5.101588E-01 -5.338852
7.606193E-01 -2.706752E-01 1.605924E-01 9.973101E-01 6.646065E-01 -4.177295E-01 -5.101588E-01 -5.338852E-01 -9.443505E-01 6.273689E-01 4.401633E-01 9.428387E-01 -1.783963E-01 1.702644E-01 -9.304313E-01 3.995178E-01
-1.574189E-01 -3.911715E-01 -5.581077E-01 -3.719385E-02 7.144460E-01 -3.147125E-01 4.237802E-01 6.533050E-01 5.385187E-01 8.391651E-02 -5.773817E-01 1.456075E-01 6.028832E-01 5.313966E-01 3.894490E-01 7.329324E-01
8.147309E-01 -8.286917E-01 -9.708381E-01 -6.634787E-02 8.603123E-01 8.952920E-01 6.777392E-01 4.347730E-01 -9.271995E-01 8.899992E-01 5.525438E-01 -7.496139E-01 7.592094E-01 3.412833E-01 1.220876E-01 7.281239E-01
6.915789E-01 3.365000E-01 -4.771788E-01 7.674200E-01 8.059295E-01 3.545558E-01 2.764826E-01 3.801301E-01 -6.679796E-01 1.163551E-01 -5.292152E-01 -3.500514E-01 -8.614216E-01 -8.356531E-02 -8.391827E-01 7.258298E-01
1.219247E-01 5.344889E-01 8.977039E-01 -5.708083E-01 -6.809624E-01 -5.687558E-01 3.830947E-01 9.990373E-01 -6.038938E-01 9.162573E-01 -4.214753E-01 4.186414E-01 -4.224649E-01 -9.376176E-01 -1.170071E-01 3.825447E-01
-1.046988E-01 5.206562E-01 -9.832160E-01 -6.588389E-01 6.122716E-01 2.926736E-01 -8.736564E-01 9.977460E-01 8.937872E-01 -8.719974E-02 -7.742046E-01 -9.490100E-01 6.090313E-01 8.220433E-01 7.705420E-01 5.937839E-01
8.668659E-01 -5.811435E-01 -4.980876E-01 -5.458175E-02 -1.702000E-01 -9.681295E-01 -9.898823E-01 8.014537E-01 6.852101E-01 3.412942E-01 -4.313660E-01 6.886256E-01 -8.974125E-01 8.012120E-01 7.893018E-01 -1.869330E-01
-1.168977E-01 -8.988775E-01 -2.580437E-01 -8.019403E-02 4.935626E-01 3.774684E-01 5.609375E-02 8.018482E-01 -9.803250E-01 -8.223162E-01 -7.441623E-02 7.592162E-01 -3.084599E-01 2.728176E-01 -7.114622E-01 -4.335231E-01
9.071215E-01 7.551532E-01 1.640213E-02 -2.627113E-01 -1.102158E-01 -3.576760E-02 7.584369E-02 3.586933E-01 9.412469E-01 -7.919924E-01 -7.883645E-01 -4.693788E-01 -1.549372E-01 1.823575E-01 4.206510E-01 -4.489097E-01
2.449895E-01 -4.566137E-02 5.805491E-01 3.808071E-01 4.885185E-01 9.662528E-01 -9.306209E-02 2.467101E-02 2.380986E-01 -9.053143E-01 -3.499831E-01 -4.224079E-01 -2.420047E-01 1.568254E-01 -1.696076E-01 -2.344714E-01
-1.045739E-01 -2.254802E-01 -5.760012E-01 7.194423E-01 9.792110E-01 -7.514746E-01 -1.239218E-01 -3.922474E-01 -6.499553E-01 5.908898E-01 8.695512E-01 -6.576686E-01 7.101708E-01 6.389254E-01 -3.228182E-01 3.177363E-01
-7.059239E-01 -8.482834E-01 -1.630977E-01 -9.891499E-01 -5.450270E-01 -6.303106E-01 1.596098E-01 -2.695453E-01 1.340886E-01 -3.888265E-01 -4.888381E-02 1.609239E-01 3.058087E-01 7.288026E-01 9.176123E-01 2.593470E-02
-5.400585E-01 8.222967E-01 3.648388E-01 -6.635013E-01 -4.210275E-01 -2.741717E-01 1.431661E-01 -2.184412E-01 -6.006791E-01 -9.289613E-03 2.788451E-01 -2.769694E-01 -9.857075E-01 -5.143206E-01 -1.455316E-01 9.782214E-01
-7.254217E-01 -1.668047E-01 -7.403084E-01 5.606276E-01 1.713349E-01 8.025852E-01 -9.133063E-01 -3.648469E-01 9.402033E-01 -2.317766E-01 7.771178E-01 8.427679E-01 5.951350E-02 9.725678E-01 7.514953E-01 -2.132574E-02
3.962623E-01 -8.680837E-01 -6.393657E-01 7.831294E-01 -5.947012E-02 -9.781432E-01 -8.829182E-01 -9.939770E-01 7.487056E-02 -7.578757E-01 6.196460E-01 -7.909356E-01 -1.149577E-01 -2.736676E-01 2.013560E-01 5.961972E-02
7.165400E-01 -2.371667E-01 -7.857778E-01 7.715441E-01 5.449374E-01 2.804987E-02 -1.380231E-01 -5.877602E-01 3.679530E-01 3.016719E-01 -5.242305E-01 1.064826E-01 -6.910435E-02 7.062310E-01 8.472682E-02 -9.717143E-01
我不确定我是否理解正确,但似乎您希望每个矩阵作为固定(任意)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
这将给你:
不漂亮,但很管用。根据矩阵的数量,您必须使用
标签
、tics
和视图
参数。希望有帮助 您可以splot
每个矩阵和图像:
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。。。使用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
当我实施您的解决方案时,我最初遇到的问题是,所有级别上只显示第一个矩阵,但添加了索引
,例如在文件中绘制第二个矩阵,使用splot“tmp”矩阵索引2 1:2::3 w p
解决了这个问题。类似于我在Vinicius Placco的帖子中的评论,我只需添加索引I
,以确保它从文件中绘制连续矩阵。