如何在gnuplot中的彩色图上叠加等高线图?

时间:2012-01-31 20:24:45

标签: matrix gnuplot contour color-mapping

我正在尝试使用datasetB的等高线图创建datasetA的色彩图,这两个图都是从文件中读取的。

以下成功创建了datasetA的色彩映射:

plot 'valuesA.dat' matrix with image

我可以按照here描述绘制轮廓。

如何合并这两个图?

提前致谢!

2 个答案:

答案 0 :(得分:1)

要回答这个问题,请在gnuplot tricks处理。

答案 1 :(得分:1)

以下是我最终为大小为512x512(例如)的数组做的。假设我有一个数据文件A.dat,用于色图,B.dat用于轮廓。

  • B.dat创建一个包含轮廓数据的表格,并将其保存到临时文件temp.dat
  • 使用A.dat绘制色彩映射,并在单个命令中绘制临时文件temp.dat中的等高线。

这是我的代码(为了清晰起见,有些简化):

# Set initial state
reset
set term X11
set palette @MATLAB    # see http://www.gnuplotting.org/matlab-colorbar-with-gnuplot/

# Create a file for contour data
set contour base
set cntrparam levels 25
set isosample 250,250
unset surface
set table "temp.dat"
splot "B.dat" binary array=512x512 format='%double'
unset table


# Plot the final results
set title "Contours and Colormap"
set size square
unset key
set xtics ('0' 0, '0.5' 255, '1.0' 511)   # Change these according to your dimensions
set ytics ('0' 0, '0.5' 255, '1.0' 511)   # Change these according to your dimensions

set cbrange [0.0:1.0]
set xlabel "X (scaled by height)"
set ylabel "Z (scaled by height)"


set terminal png
set output "output.png"
plot "A.dat" binary array=512x512 format='%double' with image, "temp.dat" with lines lt -1

要查看它的外观,我最终使用该代码的脚本版本为我的研究生成this movie(和其他人)!