gnuplot:在epslatex中使轴数小,使得我的轴标签在屏幕外消失

时间:2013-12-07 01:11:47

标签: plot latex label gnuplot eps

我正在编写一个脚本来在列中生成三个图(使用多色图并设置边距)。它们都共享一个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就会重新出现!无论出于何种原因,它们似乎只是被轴线本身拉开了一段距离。

我已尝试使用偏移设置标签,但这不会产生任何乐趣。

1 个答案:

答案 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}} - 符号。