平衡gnuplot中两个不同地块的尺度

时间:2013-05-22 18:31:59

标签: gnuplot

我制作了一个gnu脚本来绘制图形

我的剧本

set size square
plot "./points.dat" using 1:2 pt 7 ps 1
replot "./circle.dat" using 1:2:3 with circles

points.dat

1.000000 -1.000000
-1.000000 1.000000
-1.000000 -1.000000
1.000000 1.000000

circle.dat

0.000000 0.000000 1.414214

根据数据点,所有点必须在圆圈中,但图表显示圆圈外的点

有人可以帮帮我吗。

1 个答案:

答案 0 :(得分:4)

问题

set size square。这会导致x-axis的长度和y-axis的长度在“画布”上与相同。我的意思是,如果你要在一张纸上打印你的情节并用尺子测量x轴和y轴,你会得到相同的长度。现在,如果我们查看圆形对象(help circle)的文档,我们会看到:

  

水平和垂直缩放之间的任何差异都将得到纠正,以便结果始终为圆形。

当gnuplot自动缩放图形时,由于某种原因它不会自动缩放x和y相同(可能是由于终端的宽高比)。

解决方案

Gnuplot set size有一种方法可以确保x-axis上的1个单位距离与y-axis上的1个距离单位相同。关键是使用:

set size ratio -1

而不是set size平方。另一种解决方案是继续使用set size square但是明确地将xrangeyrange设置为相同的内容:

set xrange [-1.25:1.25]
set yrange [-1.25:1.25]
set size square
plot "./points.dat" using 1:2 pt 7 ps 1
replot "./circle.dat" using 1:2:3 with circles