Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gnuplot将自动缩放xmax设置为始终与y2轴保持间隙_Gnuplot - Fatal编程技术网

Gnuplot将自动缩放xmax设置为始终与y2轴保持间隙

Gnuplot将自动缩放xmax设置为始终与y2轴保持间隙,gnuplot,Gnuplot,我有一个gnuplot脚本,它工作得很好。我正在绘制点右侧的最后一个点标签,但X轴末端的空间总是变化的,我还没有弄清楚如何保持一致的空间,以便标签始终可见 数据文件如下所示,包含100个数据点: 171030 784750 171031 787000 171101 773000 171102 798000 171103 784000 171106 794000 171107 781000 171108 785000 171109 788000 171110 794000 171113 79312

我有一个gnuplot脚本,它工作得很好。我正在绘制点右侧的最后一个点标签,但X轴末端的空间总是变化的,我还没有弄清楚如何保持一致的空间,以便标签始终可见

数据文件如下所示,包含100个数据点:

171030 784750
171031 787000
171101 773000
171102 798000
171103 784000
171106 794000
171107 781000
171108 785000
171109 788000
171110 794000
171113 793125
171114 795000
171115 795000
171116 794000
171117 776000
...
这是我的剧本:

set term pngcairo size 766,400 enhanced
set output outfile

set xdata time
set timefmt "%y%m%d"
flabel(y)=sprintf("$%'.0f", y)

set format y "%'.0f"

set xtics nomirror
set ytics nomirror

set border 3 # Draw only the left and bottom

set grid linewidth 1
set grid linecolor "#222222"

pic_color="#4682B4"

set autoscale xfixmin

plot infile using 1:2 with lines linewidth 2 linecolor rgb pic_color notitle , \
infile every ::99 using 1:2:(flabel($2)) with labels point pointtype 7 linecolor rgb pic_color offset character 4,character 0 textcolor rgb pic_color notitle
我用以下方法运行它:

gnuplot -e "infile='171030.dat';outfile='171030.png'" script.gp
我曾尝试使用
设置自动缩放xfixmax
,但它删除了空间,我找不到如何将其设置为固定数量

如果我将
xmax
设置为
autoscale
,有时它会留下足够的空间来显示标签,但有时却没有

我尝试了Christoph对评论的建议,但没有结果:

无自动缩放:

# set autoscale xfixmin
set offsets graph 0, 0.1, 0, 0

使用autoscale xfix:

set autoscale xfix
set offsets graph 0, 0.1, 0, 0

使用自动缩放xfixmin:

set autoscale xfixmin
set offsets graph 0, 0.1, 0, 0


无论我对右偏移量使用什么值,或者如果我使用set
offsets graph 0、0.1、0、0
offsets 0、0.1、0、0
,或者如果我不使用
offsets

将x轴的范围扩展到数据文件覆盖范围的20%,则使用

set autoscale xfix
set offsets 0, graph 0.2
相反,如果您希望将范围扩大一个固定的数量,例如10天,请使用

set autoscale xfix
set offsets 0, 10*24*60*60

要将x轴的范围扩展到数据文件中覆盖范围的20%,请使用

set autoscale xfix
set offsets 0, graph 0.2
相反,如果您希望将范围扩大一个固定的数量,例如10天,请使用

set autoscale xfix
set offsets 0, 10*24*60*60

@克里斯托夫似乎是我所需要的,但一直没能让它发挥作用。我尝试了:
设置偏移量0,5,0,0
(带和不带
设置自动缩放xfix
),但结果就像我没有设置任何偏移量一样。你知道我做错了什么吗?我甚至试过设置偏移量0,50,0,0,但是如果我删除偏移量,绘图是一样的,它们不会改变任何东西。@Christoph我真的很感激你花时间阅读我的问题,并且你试图为我指出正确的方向,但我一直无法让它工作。你能把我的问题再读一遍吗?我更新了一些实现您建议的测试。
set autoscale xfix;设置偏移量0,图形0.2
将在数据文件中涵盖的日期范围内将x轴的范围扩展20%。请注意,
图形
关键字将第二个参数修改为
设置偏移量
。或者,您可以使用
设置偏移量0、10*24*60*60
@user8153将范围延长10天,明白了!谢谢你的解释。你能把你的评论作为回答吗。问题解决了。@Christoph似乎是我需要的,但还没能让它工作。我尝试了:
设置偏移量0,5,0,0
(带和不带
设置自动缩放xfix
),但结果就像我没有设置任何偏移量一样。你知道我做错了什么吗?我甚至试过设置偏移量0,50,0,0,但是如果我删除偏移量,绘图是一样的,它们不会改变任何东西。@Christoph我真的很感激你花时间阅读我的问题,并且你试图为我指出正确的方向,但我一直无法让它工作。你能把我的问题再读一遍吗?我更新了一些实现您建议的测试。
set autoscale xfix;设置偏移量0,图形0.2
将在数据文件中涵盖的日期范围内将x轴的范围扩展20%。请注意,
图形
关键字将第二个参数修改为
设置偏移量
。或者,您可以使用
设置偏移量0、10*24*60*60
@user8153将范围延长10天,明白了!谢谢你的解释。你能把你的评论作为回答吗。问题解决了。