Gnuplot: 4-х цветная диаграмма с использованием матричного формата - PullRequest
7 голосов
/ 29 июня 2011

Я знаю, что для цветного графика 4d (поверхность 3d, а цвет задается 4-м полем), я могу использовать файл данных в формате

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

  2 1 4 2
  2 2 4 5
  ...

и затем используйте

set pm3d
splot "datafile.dat" u 1:2:3:4 with pm3d

С другой стороны, я знаю, как сделать простой график поверхности, где значения X и Y неявны, а значение Z находится в матричном формате:

#Z DATA ONLY
0 1
4 4

splot "datafile.dat" matrix 

Есть ли способ сделать 4d цветные графики с использованием этого матричного формата? Например, взять данные Z из одного файла и соответствующие данные цвета из другого файла или объединить значение Z и цвет в один файл в матричном формате?

Ответы [ 2 ]

1 голос
/ 10 января 2013

Если я правильно понял вопрос, это кажется возможным. См. Примеры ниже.

  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
    

    Чтобы отобразить эти значения в различных оттенках серого, мы укажите соответствующий palette. Кроме того, мы применяем вышеуказанное упомянутый стиль image сюжета и опция формата matrix. Результат показано на рис. 2.

    set palette grey
    plot 'color_map.dat' matrix with image
    

    z values with color

  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
    

    Heat map generated from a file only containing z values

0 голосов
/ 20 марта 2014

Я не думаю, что это то, что было после первоначального вопроса.

Насколько я понимаю, он хочет нарисовать цветные сферы в трехмерном пространстве, так что XYZ - это координаты, а C - интенсивность цвета. Это тот случай?

...