将输出图像向下移动Gnuplot

时间:2013-01-10 21:30:22

标签: macos gnuplot x11

我在textedit中键入它并稍后将其加载到gnuplot中。当我这样做时,图像略微偏离屏幕顶部,这意味着我看不到它的一些。有没有办法将整个成像图像向下移动,或者在图像上开始降低z轴?

另外,如何将我的点数或线条变黑?目前我的球体的线条是红色,点是蓝色。

set pointsize 2
set tics
set border
unset key
set size ratio -1
set size square
unset xzeroaxis
unset yzeroaxis
unset zzeroaxis
# linetype linewidth 
set xrange[-1.2:1.2]
set yrange[-1.2:1.2]
set zrange[-1.2:1.2]
set view equal xyz
set xyplane at -1.2
set parametric
set isosamples 20
set hidden3d
set urange [0:2.0*pi]
set vrange [-pi/2:pi/2]
r=1.0;
# Parametric functions for the sphere
fx(v,u) = r*cos(v)*cos(u)
fy(v,u) = r*cos(v)*sin(u)
fz(v)   = r*sin(v)
splot fx(v,u),fy(v,u),fz(v),"mypoints" u 1:2:3 w p 3

谢谢,A。

3 个答案:

答案 0 :(得分:0)

我会尝试改造这件事,但是为了进一步解释我的问题,请看看这些图片。

第一个是我运行代码时出来的东西(现在我把所有东西都弄黑了)。第二个是相同的图片,但旋转(只需点击,按住并移动鼠标)。正如您在旋转时看到的那样,图片不在屏幕上。我只是希望图片位于屏幕的中央,我想不出它为什么不会。

为什么图像下方的z轴有1或1.5?我也不想那样。有没有办法在x,y和z轴上设置相等的比例?方形的东西已经为x和y做了,但正如你所看到的那样,球体也被挤压了。

谢谢,A。

http://tinypic.com/view.php?pic=k59gx&s=6

http://tinypic.com/view.php?pic=2v9eo93&s=6

注意:由于缺乏代表,我无法上传图片,但我认为这是说明我的问题的最佳方式。链接显示我正在谈论的图像。

答案 1 :(得分:0)

运行你的脚本,省略对“mypoints”的引用,我得到你想要的情节,没有任何额外的z轴或顶部被切断。我正在使用gnuplot v.4.4.3。你用的是什么版本?你是否在没有绘制“mypoints”的情况下尝试过它?可能存在影响情节的事情。此外,您可能希望探索坐标映射(在提示符处尝试“帮助映射”)以在球坐标中绘制数据文件。

答案 2 :(得分:0)

好的,基本上有很多问题需要解决,所以这里有:

1)不要将图片向下移动,从边框的z部分去掉小标签端。这使得图片更加重要。

要执行此操作:set ticslevel 0.0

2)在X11中没有保持宽高比,所以它看起来都被压扁了。这是在这里说的:

http://sourceforge.net/tracker/index.php?func=detail&aid=3331162&group_id=2055&atid=102055

他们所说的解决方法是将X11输出的窗口大小设置为方形,执行此操作:set terminal x11 size 800,800

3)注意,你现在不需要:set xyplane at -1.2(或你想要的z值),因为这是使用set ticslevel命令。

现在我有了这个:

set pointsize 2
set tics nomirror
set ticslevel 0.0
set border
set view equal xyz
unset key
unset xzeroaxis
unset yzeroaxis
unset zzeroaxis
# linetype linewidth 
set xrange[-1.2:1.2]
set yrange[-1.2:1.2]
set zrange[-1.2:1.2]
set parametric
set isosamples 20
unset hidden3d
set urange [0:2.0*pi]
set vrange [-pi/2:pi/2]
r=1.0;
# Parametric functions for the sphere
fx(v,u) = r*cos(v)*cos(u)
fy(v,u) = r*cos(v)*sin(u)
fz(v)   = r*sin(v)
splot fx(v,u) w lines lc rgb "black",fy(v,u) w lines lc rgb "black",fz(v) w lines lc rgb "black","mypoints" u 1:2:3 w points lc rgb "red" p 2

希望这有助于将来的人们。