在 gnuplot epslatex(多图)中更改 ytic 字体大小

Changing ytic font size in gnuplot epslatex (multiplot)

我在 epslatex gnuplot 中更改 ytics(以及 xtics)的字体大小时遇到​​问题。

我试过设置格式 y '\tiny{%g}' 它仅适用于两个地块中的第一个。

这是我的代码:

set terminal epslatex
set output "w_alt_nsyB_multi.tex"
set multiplot layout 1,1
set xrange [-0.5:17]
set yrange [0:110]
set xlabel "days" 
set ylabel "Survival (\%)" offset 2.5
set key reverse 
set xtics font 'Arial,4' s
et style histogram errorbars gap 2 lw 1
set style data histogram
set style fill solid 1 border lt -1
set boxwidth 0.8
plot 'w_alt_nsyB.dat' every ::::7 using 2:3:xticlabels(1) title 'w1118'  lt rgb "#000000",\
  'w_alt_nsyB.dat' every ::::7 using 4:5 title 'wtSYN'  lt rgb "#FF0000",\
'w_alt_elav_endoG.dat' every ::::7 using 6:7 title '38085'  lt rgb "#9400D3"
set origin 0.5, 0.25
set size 0.5, 0.5
set xrange [-0.5:6]
set yrange [0:110]
set xlabel "\tiny{Time of $Mn^{2+}$ treatment}"
set ytics ('10'10,'50'50,'100'100) nomirror
unset border
set xtics nomirror
unset ylabel
unset key
plot 'w_alt_nsyB_100.dat' using 2:3:xticlabels(1) lt rgb "#000000",\
 'w_alt_nsyB_100.dat' using 4:5:xticlabels(1) lt rgb "#FF0000",\
 'w_alt_nsyB_100.dat' using 6:7:xticlabels(1) lt rgb "#9400D3"
unset multiplot

有人能帮帮我吗?

如果您像使用

那样提供明确的手动标签,则不会应用 set format ... 中给出的格式
set ytics ('10'10,'50'50,'100'100)

您要么只给出标签的位置

set format y '\tiny %g'
set ytics (10, 50, 100)

或在每个手动标签中包含字体宏

set ytics ('\tiny 10' 10, '\tiny 50' 50, '\tiny 100' 100)

另请注意,您的语法 \tiny{%g} 是错误的,\tiny 只是一个开关,不带任何参数。在这种情况下没关系,因为每个标签都包裹在一个单独的 LaTeX 盒子中,但在其他情况下它会产生很大的不同。要包装小字体,您通常需要 {\tiny %g}.

xticlabel设置的显式标签也是如此。同样在这里,来自 set format x 的格式不适用。您必须提供完整的标签字符串,而不是 xticlabel 的列号(如您的示例中的 xticlabel(1) ):

xl(c) = sprintf('\tiny %s', strcol(c))
plot 'file.dat' using 2:3:xticlabel(xl(1))

下次,请给出一个最小 示例,让其他人可以重现您的问题。我们没有 运行 脚本的数据文件。而且您的问题与您的特定数据文件无关,因此您也可以使用函数构造一个示例,这可能会导致您自己找到解决方案...