2

我有以下数据cr.dat

0.03 0.0227352
0.02 0.0276084
0.01 0.0386684
0.009 0.0407197
0.008 0.0431688
0.007 0.04612
0.006 0.0497781
0.005 0.0545085
0.004 0.0608376
0.003 0.069918
0.002 0.0844434

以及以下情节脚本

set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u 1:2 title "cr";

产生这个图像 情节 cr

是否可以删除 0.01、0.02 和 0.03 之间的大空间?

我希望该set xtics命令能够沿 x 轴均匀地绘制给定的抽动。但事实并非如此。

更新

我尝试了Irregular gnuplot x-values建议的解决方案,xticlabels但这会产生一个奇怪的 x 和 y 轴。

新的情节脚本是

set xtics ( 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.009, 0.01, 0.02, 0.03)
plot "cr.dat" u xticlabels(1):2 title "cr";

结束结果 情节 cr2

我是不是误会了什么?

4

2 回答 2

3

要获得均匀间隔的 xtics,您必须给出均匀间隔的 x 值。这些 x 值中的每一个都可以使用该xticlabel函数从数据文件中获得一个自定义标签。请注意,此函数必须始终是您在using语句中给出的最后一个函数。

为了获得均匀的空间 x 值,请使用包含在伪列中的行号0。因此,为了获得所需的情节,请使用

plot 'cr.dat' using 0:2:xticlabel(1) title "cr"

它使用行号作为 x 值,第二列中的值作为 y 值,第一列中的值作为 xtic 标签。

如果您希望按升序对值进行排序,您有多种选择:

  1. 对数据文件进行排序。
  2. 即时对数据文件进行排序(使用 Unix 命令行工具可以正常工作sort

    plot '< sort cr.dat' using 0:2:xticlabel(1)
    
  3. 使用行号的负值,这有效地为您提供了一个反转的 x 轴:

    plot 'cr.dat' using (-$0):2:xticlabel(1)
    

后一个命令的结果是

在此处输入图像描述

于 2015-07-02T22:01:47.907 回答
0

利用

set logscale x

linearx 轴转换为logarithmx 轴,这将在一定程度上标准化间隙。

或者,更改绘图的大小以获得更多空间

set term . . . size 1920, 1080
于 2015-07-02T16:18:07.677 回答