2

データセットBの等高線図を使用してデータセットAのカラーマッププロットを作成しようとしています。どちらもファイルから読み込まれます。

以下は、datasetAのカラーマップを正常に作成します。

plot 'valuesA.dat' matrix with image

ここで説明するように輪郭を描くことができます。

2つのプロットをどのように組み合わせることができますか?

前もって感謝します!

4

2 に答える 2

1

質問に答えるために、これはgnuplotのトリックで対処されます。

于 2013-11-25T23:29:35.607 に答える
1

これが私が512x512のサイズの配列に対してそれをやった方法です(例えば)。A.datカラーマップとB.dat等高線に使用されるデータファイルがあるとします。

  • 等高線データを含むテーブルを作成B.datし、一時ファイルに保存しますtemp.dat
  • を使用してカラーマップをプロットし、1つのコマンドで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

それがどのように見えるかを確認するために、私はそのコードのスクリプトバージョンを使用して、研究用にこの映画(およびその他)を作成することになりました!

于 2014-08-15T04:44:30.657 に答える