Gnuplot:使用矩阵格式的4d彩色图

Lag*_*aer 7 charts graph gnuplot

我知道对于4d彩色图(3d表面,颜色由第4个字段给出),我可以使用格式的数据文件

# X Y Z C
  1 1 0 4
  1 2 1 3

  2 1 4 2
  2 2 4 5
  ...
Run Code Online (Sandbox Code Playgroud)

然后使用

set pm3d
splot "datafile.dat" u 1:2:3:4 with pm3d
Run Code Online (Sandbox Code Playgroud)

另一方面,我知道如何制作一个简单的曲面图,其中X和Y值是隐式的,而Z值是矩阵格式:

#Z DATA ONLY
0 1
4 4

splot "datafile.dat" matrix 
Run Code Online (Sandbox Code Playgroud)

有没有办法用这种矩阵格式制作4d彩色图?例如,从一个文件中获取Z数据和从另一个文件中获取相应的颜色数据,或者将Z值和颜色组合成矩阵格式的单个文件?

JSu*_*uar 1

如果我正确理解这个问题,这似乎是可能的。请参阅下面的示例。

  1. http://www.gnuplotting.org/tag/matrix/

    创建这样的绘图所需的只是image绘图样式,当然数据必须采用正确的格式。假设以下矩阵表示测量的 z 值。

    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    0 1 2 3 4 3 2 1 0
    
    Run Code Online (Sandbox Code Playgroud)

    为了以不同的灰色调绘制这些值,我们指定相应的palette. 此外,我们应用上面提到的image绘图样式和matrix格式选项。结果如图2所示。

    set palette grey
    plot 'color_map.dat' matrix with image
    
    Run Code Online (Sandbox Code Playgroud)

    带颜色的 z 值

  2. http://gnuplot.sourceforge.net/demo/heatmaps.html

    #
    # Two ways of generating a 2D heat map from ascii data
    #
    
    set title "Heat Map generated from a file containing Z values only"
    unset key
    set tic scale 0
    
    # Color runs from white to green
    set palette rgbformula -7,2,-7
    set cbrange [0:5]
    set cblabel "Score"
    unset cbtics
    
    set xrange [-0.5:4.5]
    set yrange [-0.5:4.5]
    
    set view map
    splot '-' matrix with image
    5 4 3 1 0
    2 2 0 0 1
    0 0 0 1 0
    0 0 0 2 3
    0 1 2 4 3
    e
    e
    
    Run Code Online (Sandbox Code Playgroud)

    从仅包含 z 值的文件生成的热图