GNUPLOT - 如何在轴中心设置数据的中值?

GNUPLOT - How to set median value of data in the center of axis?

这些是我的数据:

27941
34464
27308
33065
33754
29531
29106
31538
28100
23315
25601
29194
22322
20034
16368
17208
17963
16575
16825
19722

中位数是26455,如何设置在轴心?我需要在轴上保留最小值和最大值,因此移动轴范围不是正确的解决方案。 谢谢!

stats 'test' nooutput
max(a,b)=(a>b)?a:b
extent = max(STATS_max-STATS_median, STATS_median-STATS_min)
set xrange[STATS_median-extent : STATS_median+extent]

这将找到最大值和中值之间的差异,然后是最小值和中值之间的差异,然后是这两个差异中的最大值,我称之为 extent。然后,如果我们将 xrange 设置为 median-extent : median+extent,则中心将位于中位数,最小值和最大值都将可见。

如果您还想要一些额外的免费 space 大约最小值和最大值,您可以使用 extent = 1.1*max(STATS_max-STATS_median, STATS_median-STATS_min)