我想在一个图中绘制一个数据文件的几个数据列。对于每个数据列,我想使用黑色(不同的虚线)和彩色点。我发现了一般的方法(首先绘制线条(echo do_shortcode("[product_attributes]");
)然后绘制点(with lines
),然后将图例条目相互叠加)。这个例子在这篇文章中有解释:
Merge key entries in gnuplot
但是我的情况并不完全正常。我有三个问题:
首先:我希望在传奇周围有一个with points
。但是当我将图例条目移到彼此之上时,这不起作用......
第二:我想加入box
。不知何故,除了最后一行之外,这总是位于绘制线之上......
第三个问题:每个情节彼此绘制rectangle object
。这就是他们似乎不应该大胆的原因。我发现我应该"隐藏" xticlabels
(就像我对tics
和border
所做的那样),但它不会以某种方式对labels
起作用......
你有什么提示吗? 最好的祝福, 塞巴斯蒂安 @ewcz
tics
答案 0 :(得分:2)
我建议如下:
set object rectangle
手动绘制包围框(见下文)(尽管这可能需要一些手册"调整&#34 ;盒子的大小)。behind
,但由于该图层位于第一个图的顶部,因此它涵盖了第一个plot
绘制的元素。可以通过使用unset object 1
删除第二个图中的对象来消除这种情况。tics
,labels
等类似的问题。在下面的代码中,所有定义都在第一个plot
命令之前移动,然后在第二个图中移动unset
。通过这些修改,脚本将如下所示:
#Start terminal
set terminal epslatex size 7.8cm, 6.1cm font ",10"
#Legend settings
pointSize = 1
yticsScale =1
keySpacing = pointSize*yticsScale*1.25
keyY = 15.5
keyX = 0.975
set key vertical Left reverse width -0.5 height +0 font ",16"
set key opaque
set key autotitle columnheader
set key bottom right spacing -1
#Format of axis numbers
set format xy '$\%g$'
set format x '\footnotesize \%10.1f'
set format y '\footnotesize \%10.1f'
#Format tics
set xtics 0,0.1 out nomirror
set xtics offset -0.2,0
set mxtics 5
set ytics 0.6,0.1 out nomirror
set ytics offset 0.4,0
set mytics 5
#Background grid setting
set grid
show grid
set object 1 rectangle from 0.132, graph 0 to 0.456, graph 1 fillcolor rgb "#A9A9A9" fs pattern 1 noborder behind
#Margins
set lmargin 5.9
set rmargin 0.5
set bmargin 3.5
#Axis range settings
set xrange [0:0.535]
set yrange [0.6:1.2]
#Format lines, boxes...
set style line 4 lt 1 lc rgb 'black' lw 2 pt 13 ps 1.25 dt 4
set style line 5 lt 1 lc rgb 'black' lw 2 pt 4 ps 1.0 dt 5
#Multiplot
set multiplot
set origin 0,0
set size 1,1
#Plots
set key at graph keyX, character keyY
#simulate key box
set object 2 rectangle from graph keyX, character keyY + 0.5*keySpacing to graph 0.65, character keyY - 1.5*keySpacing fillcolor rgb "#FFFFFF" fs pattern 2 border rgb "black"
set xlabel '\small $r/D_T\;[-]$' offset 0,+0
set ylabel '\small $c_{m2} \cdot A_{T}/Q_T\;[-]$' offset +10.5,+0
plot \
'dataset.dat' using 1:2 with lines ls 4, \
'dataset.dat' using 1:2 with points ls 4 lc rgb "#71da71" title " "
#unset these so that they are not duplicated by the following plot command
unset border
unset xtics
unset ytics
unset xlabel
unset ylabel
unset object 1
unset object 2
#Last Plot
keyY = keyY - keySpacing
set key at graph keyX, character keyY
plot \
'dataset.dat' using 1:3 with lines ls 5, \
'dataset.dat' using 1:3 with points ls 5 lc rgb "#4da6ff" title " "
然后生成(我使用了standalone
epslatex终端。可能是某些字体问题,但似乎ylabel
会受益于略大的水平偏移量):