tic标记在Gnuplot中的位置
我正在寻找一种在轴之间的gnuplot中定位tic标记的方法,但到目前为止,我只找到了将它们放入或取出的解决方案:tic标记在Gnuplot中的位置,gnuplot,Gnuplot,我正在寻找一种在轴之间的gnuplot中定位tic标记的方法,但到目前为止,我只找到了将它们放入或取出的解决方案: set tics in 将所有tic标记放在画布内 set tics out 将所有tic标记放在画布外 set tics out 我所要做的就是在轴的两边都画上tic标记 --l--l-- 谢谢你的提示 如评论中所述,似乎不可能将TIC放置在轴的两侧。解决方法是绘制两次轴,或用设置箭头手动绘制tic 手工绘制tics: 请考虑以下设置: Xmin = -4.0
set tics in
将所有tic标记放在画布内
set tics out
将所有tic标记放在画布外
set tics out
我所要做的就是在轴的两边都画上tic标记
--l--l--
谢谢你的提示 如评论中所述,似乎不可能将TIC放置在轴的两侧。解决方法是绘制两次轴,或用
设置箭头
手动绘制tic
- 手工绘制tics:
请考虑以下设置:
接下来,我们绘制底部、顶部、左侧和右侧抽动:Xmin = -4.0 # range in x Xmax = 4.0 Ymin = -1.2 # range in y Ymax = 1.2 NXtics = 8 # number of Xtics NYtics = 4 # number of Ytics epsX = 0.05 # length of Xtics epsY = 0.03 # length of Ytics dX = (Xmax-Xmin)/NXtics # distance between Xtics dY = (Ymax-Ymin)/NYtics # distance between Ytics
由于您是手动绘制TIC,因此需要配置轴编号和范围:# xtics and x2tics do for [i=0:NXtics] { posX = Xmin+i*dX set arrow from posX,Ymin-epsY to posX,Ymin+epsY nohead front # bottom set arrow from posX,Ymax-epsY to posX,Ymax+epsY nohead front # top } # ytics and y2tics do for [i=0:NYtics] { posY = Ymin+i*dY set arrow from Xmin-epsX,posY to Xmin+epsX,posY nohead front # left set arrow from Xmax-epsX,posY to Xmax+epsX,posY nohead front # right }
最后,你高度复杂的情节:set xtics Xmin,dX,Xmax scale 0 offset 0,-epsY set ytics Ymin,dY,Ymax scale 0 offset -epsX,0 set xrange [XMIN:XMAX] set yrange [YMIN:YMAX]
结果: 此方法还允许您plot sin(x)
- 两次绘制轴:
这种方法比较简单;但您需要设置画布的边距,并使用
模式:multiplot
结果类似:)set tmargin at screen 0.9 # top margin set bmargin at screen 0.2 # bottom set lmargin at screen 0.2 # left set rmargin at screen 0.9 # right set yrange [-1.2:1.2] set multiplot set tics scale 0.5 # scale size of the tics plot 2 notitle # a plot outside the canvas, just to draw the axis set tics out # tics outside set format xy '' # delete the numbers unset border # delete the border plot sin(x) # your awesome plot unset multiplot
set multi
set tics scale 0.5
plot sin(x)/x
set tics out
replot
unset multi
当心,这会给你的图表加上第二张。位图输出应该可以,但如果有矢量输出(pdf、eps),就不要这样做,尤其是当图形复杂或包含大量数据点时。它会将生成的文件放大到其大小的两倍
Gnuplot目前(V5.0pl1)没有将TIC放置在轴中心的选项。您必须使用此处所示的解决方法之一。欢迎使用StackOverflow,@Eugl!似乎不可能更改tics的位置,如何绘制轴两次(一次绘制tics in,另一次绘制tics out)?看见很抱歉,目前我还没有安装gnuplot,无法对其进行正确测试。感谢Paolo的热情欢迎,并以某种方式确认无法将tic标记重新定位在轴的中间。vagoberto,感谢您提供的详细解决方案。特别是用手画抽搐是非常有帮助的。