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

时间:2015-07-15 18:24:51

标签: gnuplot

我在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

有人可以帮我吗?

1 个答案:

答案 0 :(得分:3)

如果您提供明确的手动标签,则不会应用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只是一个开关而且不接受任何参数。在这种情况下,它并不重要,因为每个标签都包裹在一个单独的乳胶盒中,但在其他情况下它会产生很大的不同。要包装您通常需要的小字体{\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))

下次,请提供 minimal 示例,以便其他人重现您的问题。我们没有您的数据文件来运行脚本。而且您的问题与您的特定数据文件无关,因此您也可以使用函数构建示例,这可能会让您自己找到解决方案......