我在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";
生成此图像
是否可以去除0.01,0.02和0.03之间的大空间
我希望set xtics
命令可以沿x轴均匀地绘制给定的抽搐。但事实并非如此。
更新
我使用xticlabels
尝试了Irregular gnuplot x-values建议的解决方案,但这会产生一个奇怪的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";
结束结果
我误解了什么吗?
答案 0 :(得分:1)
要获得均匀间隔的xtics,必须均匀地提供空间x值。可以使用xticlabel
函数为这些x值中的每一个赋予从数据文件中获取的自定义标签。请注意,此函数必须始终是using
语句中的最后一个。
为了获得均匀的空间x值,请使用伪列0
中包含的行号。因此,为了获得所需的情节,请使用
plot 'cr.dat' using 0:2:xticlabel(1) title "cr"
将行号用作x值,将第二列的值用作y值,将第一列中的值用作xtic标签。
如果您希望按升序对值进行排序,则可以选择以下几种方法:
动态排序数据文件(使用Unix命令行工具sort
正常工作:
plot '< sort cr.dat' using 0:2:xticlabel(1)
使用行号的负值,有效地为您提供反转的x轴:
plot 'cr.dat' using (-$0):2:xticlabel(1)
后一个命令的结果是
答案 1 :(得分:0)
使用
set logscale x
将linear
x轴转换为logarithm
x轴,这将在一定程度上规范化间隙。
或者,更改绘图的大小以获得更多空间
set term . . . size 1920, 1080