我正在编写一个脚本来在列中生成三个图(使用多色图并设置边距)。它们都共享一个x轴,所以只需要在底部的图上标记它,但它们有不同的y轴。
我正在使用gnuplot中的epslatex终端生成带有乳胶标签和轴的图。基本上,我需要轴上的数字使用比实际轴标签更小的字体大小。到目前为止,我一直在使用,
reset
set term epslatex standalone color solid 10
set output 'myplot.tex'
set multiplot;
#Common width for all three plots is set
set lmargin at screen 0.15;
set rmargin at screen 0.90;
set format x ""; #Removes xlabels from plots without removing tic marks
#First plot
set tmargin at screen 0.98;
set bmargin at screen 0.72;
set ylabel '$Label Name 1$';
set format y '\scriptsize{%g}';
plot "mydata.dat" u 1:3 w l lt 1 lw 3
#Second plot
set tmargin at screen 0.70;
set bmargin at screen 0.44;
set ylabel '$Label Name 2$';
set format y '\scriptsize{%g}';
plot "mydata.dat" u 1:11 w l lt 2 lw 3
#Third plot
set tmargin at screen 0.42;
set bmargin at screen 0.16;
set xlabel 'Common Label Name';
set format x '\scriptsize{%g}'; # Here I reset the x axis so it shows on
this plot
set ylabel 'Label Name 3';
set format y '\scriptsize{%g}';
plot "mydata.dat" u 1:5 w l lt 3 lw 3
unset multiplot;
因此,您可以看到我使用latex来格式化不同大小的数字,特别是\ scriptsize。对于最终的xlabel,一切正常;数字是较小的字体,xlabel以常规尺寸打印在它下面。但是,对于ylabels,数字DO看起来较小,但实际标签名称不会出现在图上。
起初我虽然他们没有得到某种程度的承认,但是当我尝试边缘时,我发现如果我将lmargin移动到页面中间,ylabels就会重新出现!无论出于何种原因,它们似乎只是被轴线本身拉开了一段距离。
我已尝试使用偏移设置标签,但这不会产生任何乐趣。
答案 0 :(得分:0)
这种行为的原因是,gnuplot不知道,LaTeX语法的抽搐最终会是什么样子。该程序试图估计抽头标签长度并相应地调整标签位置。
如果您的格式为'\scriptsize %g'
,则tic标签似乎非常大:
set terminal epslatex standalone
set output 'label-offset.tex'
set format y '\scriptsize %g'
set ylabel 'ylabel'
plot x
set output
system('latex label-offset.tex && dvips label-offset.dvi && ps2pdf label-offset.ps')
Gnuplot版本4.2.6根本不考虑\scriptsize
,你需要一个非常大的偏移来补偿它:set ylabel 'ylabel' offset 14
。
由于第4.4节的行为更好,你需要更低的偏移量:set ylabel 'ylabel' offset 4
。
一些评论:
\scriptsize
是一个开关,不接受参数。考虑set xlabel '\scriptsize{scriptsize} normal?'
。要限制其效果,请使用括号括起文本,例如{\scriptsize %g}
。但这对于抽动标签来说并不是必需的,因为它们无论如何都放在括号内。
要使用斜体文字,请使用\textit{label name 1}
,而不是数字模式{ - 1}} - 符号。