0

我在 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

谢谢。

4

3 回答 3

0

我将尝试转换的东西,但要尝试进一步解释我的问题,只需看看这些图片。

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

另外为什么图像下方的 z 轴有 1 或 1.5?我也不想在那里。有没有办法在 x、y 和 z 轴上设置比例相等?设置正方形的东西已经为 x 和 y 完成了它,但是正如您所看到的,球体也被压扁了。

谢谢。

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

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

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

于 2013-01-11T16:06:34.807 回答
0

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

于 2013-01-17T15:56:06.747 回答
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

希望这对未来的人们有所帮助。

于 2013-01-22T13:58:22.577 回答