gnuplot 中轴标签的指数格式

问题描述 投票:0回答:1

如何将格式设置为只有 10^{%L} 个位于轴上方或旁边,而不是每个数字附近?谢谢你

set format y "%2.0t{/Symbol \327}10^{%L}"
set format x "%2.0t{/Symbol \327}10^{%L}"
gnuplot
1个回答
0
投票

如果您想要在轴上有前置因子,您只需在那里创建一个标签即可。 就像下面的例子。

注意:检查

help format_specifiers
:有
%t
%T
属于同一组,并且
%l
%L
。尽管您在下面的示例中不需要这些格式,但如果您可能有不同的对数刻度,最好避免混淆。

脚本:

### prefactors on axes
reset session

set format x "% 4.0f"
set format y "%.0f"

# create some test data
set table $Data
    plot [0:10000] x**2
unset table

stats $Data u 1:2 nooutput
xMax = ceil(STATS_max_x)
yMax = ceil(STATS_max_y)

digitsX    = 2
factorXlog = ceil(log10(xMax)) - digitsX
factorX    = 10**factorXlog
digitsY    = 3
factorYlog = ceil(log10(yMax)) - digitsY
factorY    = 10**factorYlog

set xlabel "x-label"
set ylabel "y-label"
set rmargin 7
set tmargin 3

set label 1 at graph 1, 0 sprintf("× 10^{%d}",factorXlog) offset 0.5,0.3
set label 2 at graph 0, 1 sprintf("× 10^{%d}",factorYlog) offset 0,0.7

plot $Data u ($1/factorX):($2/factorY) w l lc "red" ti "data"
### end of script

结果:

© www.soinside.com 2019 - 2024. All rights reserved.