Changing ytic font size in gnuplot epslatex (multiplot)

偶尔善良 提交于 2019-12-24 11:37:23

问题


I have problems changing the font size of my ytics (xtics as well) in an epslatex gnuplot.

I tried set format y '\tiny{%g}' It is only working for the first of the two plots.

This is my code:

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

Can anyone help me please?


回答1:


The format given in set format ... isn't applied if you give an explicit manual label like you do with

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

You must either just give the locations of the labels

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

or include the font macro in every manual label

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

Note also, that your syntax \tiny{%g} is wrong, \tiny is only a switch and doesn't take any arguments. In this case it doesn't matter, because every label is wrapped in an individual LaTeX box, but in other situations it makes a big difference. To wrap the tiny font you would usually need {\tiny %g}.

The same happens for the explicit labels which are set with xticlabel. Also here, the format from set format x doesn't apply. Instead of giving a column number to xticlabel (like xticlabel(1) in your example), you must give the complete label string including the macro:

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

Next time, please give a minimal example which allows others to reproduce your problem. We don't have your data files to run the script. And your problem isn't related to you specific data file, so you can as well construct an example using functions, which possibly leads you itself to the solution...



来源:https://stackoverflow.com/questions/31438219/changing-ytic-font-size-in-gnuplot-epslatex-multiplot

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!