减少 gnuplot 中轴上的标签数量
Reducing number of labels on axes in gnuplot
我已经在 gnuplot 中生成了代码:
set key box bottom right width 2 height 1
set format x "10^{%L}"
set format y "10^{%L}"
set xrange [10**(-4):10**12]
set xtics 10**1
set yrange [10**8:10**31]
set ytics 10**1
set ylabel 'Pressure erg cm^{-3}' font 'Times-Italic,14'
set xlabel 'Density g cm^{-3}' font 'Times-Italic,14'
set logscale x
set logscale y
plot '10.dat' u 1:2 with lines title 'T=1e10',\
'9.dat' u 1:2 with lines title 'T=1e9',\
'8.dat' u 1:2 with lines title 'T=1e8',\
'7.dat' u 1:2 with lines title 'T=1e7',\
'6.dat' u 1:2 with lines title 'T=1e6',\
'5.dat' u 1:2 with lines title 'T=1e5'
生成这样的图表:
但是,我想减少 x 轴和 y 轴上的标签数量,这样我就可以得到这样的东西:
有没有一些简单的方法可以做到这一点?
好吧,您明确地将 tic 距离设置为 10。在 gnuplot 控制台中键入 help xtics
。
尝试以下操作:
set xrange [1e-4:1e12]
set xtics 1e-3, 100
set yrange [1e8:1e31]
set ytics 1e9, 1000
加法:
勾选help xtics
。您可以“半自动”放置抽动。
代码:
### "semi-automatic" tics
reset session
set xrange[1e-4:1e12]
set logscale x
set format x ""
set xtics 10
set yrange[1e8:1e31]
set logscale y
set format y ""
set ytics 10
do for [i=-3:12:2] {
set xtics add (sprintf("10^{%d}",i) 10**i)
}
do for [i=9:30:3] {
set ytics add (sprintf("10^{%d}",i) 10**i)
}
plot 1e12*x
### end of code
结果:
我已经在 gnuplot 中生成了代码:
set key box bottom right width 2 height 1
set format x "10^{%L}"
set format y "10^{%L}"
set xrange [10**(-4):10**12]
set xtics 10**1
set yrange [10**8:10**31]
set ytics 10**1
set ylabel 'Pressure erg cm^{-3}' font 'Times-Italic,14'
set xlabel 'Density g cm^{-3}' font 'Times-Italic,14'
set logscale x
set logscale y
plot '10.dat' u 1:2 with lines title 'T=1e10',\
'9.dat' u 1:2 with lines title 'T=1e9',\
'8.dat' u 1:2 with lines title 'T=1e8',\
'7.dat' u 1:2 with lines title 'T=1e7',\
'6.dat' u 1:2 with lines title 'T=1e6',\
'5.dat' u 1:2 with lines title 'T=1e5'
生成这样的图表:
但是,我想减少 x 轴和 y 轴上的标签数量,这样我就可以得到这样的东西:
有没有一些简单的方法可以做到这一点?
好吧,您明确地将 tic 距离设置为 10。在 gnuplot 控制台中键入 help xtics
。
尝试以下操作:
set xrange [1e-4:1e12]
set xtics 1e-3, 100
set yrange [1e8:1e31]
set ytics 1e9, 1000
加法:
勾选help xtics
。您可以“半自动”放置抽动。
代码:
### "semi-automatic" tics
reset session
set xrange[1e-4:1e12]
set logscale x
set format x ""
set xtics 10
set yrange[1e8:1e31]
set logscale y
set format y ""
set ytics 10
do for [i=-3:12:2] {
set xtics add (sprintf("10^{%d}",i) 10**i)
}
do for [i=9:30:3] {
set ytics add (sprintf("10^{%d}",i) 10**i)
}
plot 1e12*x
### end of code
结果: