像Matlab一样的gnuplot ytics符号

时间:2015-02-06 19:09:14

标签: gnuplot

我想设置像这个Matlab图形的ytics符号(在图形框上只有一个x10 ^ -5)whit gnuplot。有可能吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

你当然可以在gnuplot中手动执行 ,使用多个终端的enhanced选项并设置label

set terminal pngcairo enhanced
set output "out.png"
set tmargin at screen 0.95
set label at graph 0,1.05 left 'x 10^{-5}'
plot x

enter image description here

但请注意,您还必须手动缩放y轴,例如在当前情况下通过将函数f(x)的输出缩放为1e5 * f(x)

如果您使用乳胶终端,则只需使用乳胶语法标记:set label ... '$\times 10^{-5}$'

如果这还不够,那么也许其他人可能会提供更自动的解决方案。

答案 1 :(得分:0)

更自动化的解决方案是使用unknown终端估算自动缩放的yrange限制,计算数量级,设置比例和重新绘制:

set terminal push
set terminal unknown
scale = 1.0
plot 'data.dat' using 1:($2/scale) w lp
set terminal pop

max(x,y) = (x > y ? x : y)
exponent = log10(max(abs(GPVAL_Y_MAX), abs(GPVAL_Y_MIN)))
oom = (ceil(exponent) == exponent ? exponent : ceil(exponent) - 1)
scale = 10**oom
set encoding utf8
set label left at graph 0, graph 1.05 sprintf('✕ 10^{%d}', int(oom)) enhanced

set tmargin 4
replot