我想知道是否有一种方法可以使用gnuplot在投影图的xy平面上投影x和y轴标签和标记。
此示例显示了我想要的内容:
与我目前拥有的相反:
请注意标签在顶部图像中似乎是如何“放置”在xy平面上,而在底部图像中,标签始终垂直于查看者。我想知道是否有使用gnuplot做到这一点的简单方法。预先感谢。
答案 0 :(得分:0)
问题很明显,但是gnuplot无法在平面上投影文本。
– Christoph 18年10月26日在4:36
答案 1 :(得分:0)
如果您绝对需要在xy平面上投影标签,并且不怕麻烦的解决方法,则可以尝试以下方法。
但是这里出现了困难:,您需要通过适当设置边距来完美对齐两个图。我不得不承认,我仍然不知道如何通过一些简单的计算自动将它们对齐,而不是乏味地手动摆弄边距。除此之外,您需要相应地设置大小,字体和偏移量。作为起点,请参见以下代码。欢迎改进。祝你好运!
代码:
### labels projected on xy-plane
reset session
# draw the bottom and save as PNG image
SizeX=500; SizeY=500
set term pngcairo size SizeX,SizeY
set output "tb3DLabelXY.png"
set size square
myMargin = 0.13
set margin screen myMargin, screen 1-myMargin, screen myMargin, screen 1-myMargin
set xrange[-10:10]
set xlabel "Precipitation amount, x" font ",20"
set y2range[-10:10]
set y2label "Precipitation amount, y" font ",20" offset -1.5,0
set y2tics rotate by 90 offset 0,-1
set tics font ",16"
unset ytics
set yrange[0:1]
set grid xtics, y2tics lw 2
plot -1 notitle
set output
reset session
set term wxt size 500,500 # or whatever terminal you have
set view equal xy
set view 60,60
set multiplot
unset xtics
unset ytics
unset ztics
unset xlabel
myMargin = 0.17
# margins l,r,b,t
set margins screen myMargin, screen 1-myMargin, screen myMargin, screen 1-myMargin
set zrange[0:200]
unset border
splot 'tb3DLabelXY.png' binary filetype=png with rgbimage notitle
set border 4095
set isosamples 20,20
set xyplane at -100
# margins l,r,b,t
set margins screen 0.255, screen 0.74, screen 0.04, screen 0.81
set xrange[-10:10]
set yrange[-10:10]
set zrange[-100:100]
set ztics -80,40
set hidden3d
splot x*y
unset multiplot
### end of code
结果: