gnuplot一个有两个轴的图形(dB和强度)

时间:2015-03-31 20:46:01

标签: gnuplot

我需要根据持续时间绘制一个表示声音的图表。声音需要按强度(功率)和dB进行缩放。

这是我到目前为止所尝试的内容:

gnuplot <<EOF

# first part duration this is easy
set terminal png size 1024,768 enhanced font "Helvetica,20"
set output 'output.png'
set yrange [0:60];
set ylabel "duration";
set ytics 5 nomirror textcolor lt 1;

# second part intensity and dB
set xrange [0:100];
set xlabel "intensity";
set xtics 5 nomirror textcolor lt 1;
set x2range [0:10];
set x2label "dB";
set x2tics 5 nomirror textcolor lt 1;
plot \
"data.dat" using 2:1 axes x1y1 title 'Graph' with points pt 7 ps 4,\
"data.dat" using 2:1 linetype 1 axes x2y1 title '';

问题是如果两个轴的起始和终止正确,dB(log(强度/ intensity_ref))的值的离差与强度的值不同,完全成比例。

如何为一把斧头指定公式?不仅对于声音图形,是否可以指定围绕一个轴的色散公式? (我也想,如果我有两个x轴,比如x和x ^ 2色散)。

非常感谢!

1 个答案:

答案 0 :(得分:1)

要在一个轴上绘制线性刻度的强度,在另一个轴上以dB为单位绘制强度,则必须在相应的列上应用适当的缩放:

plot 'data.dat' using 2:1, 'data.dat' using (log10(column(2))):1 axes x2y1