为图形刻度定义和使用向量
Define and use vector for graph ticks
我喜欢将我能存储的所有内容都存储在一个变量中,因为我制作的每个 gnuplot 脚本都会同时生成数十个绘图,这使得事情更容易跟踪。这是一个图的示例(感兴趣的变量:ytics
):
# Setup style
set terminal pngcairo dashed
unset key
set style line 1 pointtype 7 pointsize 0.3 linecolor rgb "black"
# Setup the plots' ytics
ytics_H2 = (0,0.002,0.004,0.006,0.008,0.010,0.012);
# Store the range for each variable
min_T = 200; max_T = 1800;
min_H2 = 0; max_H2 = 0.012;
# Plot
set output 'my_output_H2.png'
set ytics ytics_H2
set xrange [min_T :max_T ]
set yrange [min_H2:max_H2]
plot 'scatter.dat' using 1:2 with points linestyle 1
结果如下:
如您所见,只打印了最后一个报价单。如果我将变量 ytics
替换为其设置的向量,一切都会按预期进行。
对于此类用例,gnuplot 具有宏:
set macros # necessary only for v < 5.0
ytics = "(1, 5, 8)"
set ytics @ytics
plot x
为了使用宏,您必须定义一个字符串变量,其中包含您稍后要使用的命令部分,此处 ytics = "(1, 5, 8)"
。稍后您可以将其内容与 @ytics
.
一起使用
这里的重要事实是,gnuplot 首先用字符串变量 ytics
的内容替换 @ytics
,即将 set ytics @ytics
扩展为 set ytics (1, 5, 5)
然后才执行整个命令。
因为你的间隔是固定的,相同的,你也可以使用start, incr, end
形式:
set ytic 0, 0.002, 0.012
我喜欢将我能存储的所有内容都存储在一个变量中,因为我制作的每个 gnuplot 脚本都会同时生成数十个绘图,这使得事情更容易跟踪。这是一个图的示例(感兴趣的变量:ytics
):
# Setup style
set terminal pngcairo dashed
unset key
set style line 1 pointtype 7 pointsize 0.3 linecolor rgb "black"
# Setup the plots' ytics
ytics_H2 = (0,0.002,0.004,0.006,0.008,0.010,0.012);
# Store the range for each variable
min_T = 200; max_T = 1800;
min_H2 = 0; max_H2 = 0.012;
# Plot
set output 'my_output_H2.png'
set ytics ytics_H2
set xrange [min_T :max_T ]
set yrange [min_H2:max_H2]
plot 'scatter.dat' using 1:2 with points linestyle 1
结果如下:
如您所见,只打印了最后一个报价单。如果我将变量 ytics
替换为其设置的向量,一切都会按预期进行。
对于此类用例,gnuplot 具有宏:
set macros # necessary only for v < 5.0
ytics = "(1, 5, 8)"
set ytics @ytics
plot x
为了使用宏,您必须定义一个字符串变量,其中包含您稍后要使用的命令部分,此处 ytics = "(1, 5, 8)"
。稍后您可以将其内容与 @ytics
.
这里的重要事实是,gnuplot 首先用字符串变量 ytics
的内容替换 @ytics
,即将 set ytics @ytics
扩展为 set ytics (1, 5, 5)
然后才执行整个命令。
因为你的间隔是固定的,相同的,你也可以使用start, incr, end
形式:
set ytic 0, 0.002, 0.012