这个数字有太多的xtics和ytics。我可以有一半吗?
我知道我可以用类似的方式手动设置抽动:
set xtics (1,2,4,8,16,32,64,128,256,512,1024)
但我觉得这不是一般解决方案。您无法为所有数字手动设置抽搐。我有很多这些,并且使用Java自动生成gnuplot代码。
以下是该图的代码:https://dl.dropboxusercontent.com/u/45318932/gnuplot2.plt
你能帮助降低x和y抽搐的数量吗?
答案 0 :(得分:11)
gnuplot中没有选项可以在轴上显式设置所需的抽搐数量,并让gnuplot决定放置它们的位置。 (我真的希望有。)
您有一个选择是使用stats
命令(在gnuplot 4.6+中)查找数据范围:
ntics = 4
stats 'data.dat' using 1 name 'x' nooutput
stats 'data.dat' using 2 name 'y' nooutput
stats 'data.dat' using 3 name 'z' nooutput
set xtics x_max/ntics
set ytics y_max/ntics
set ztics z_max/ntics
您可能需要调整是否要将抽搐设置为整数值,但这是一般的想法。
答案 1 :(得分:8)
根据您的具体操作,有多种方法可以设置抽动数量。对于长度为2的固定段,从零开始到32:
set xrange [0:32]
set xtics 0,2,32
plot sin(x)
如果您想要指数增量,请尝试以下
set xrange [0:32]
set for [i=0:5] xtics (0,2**i)
plot sin(x)
或者您可以使用对数刻度(在本例中为2):
set xrange [1:32]
set logscale x 2
plot sin(x)
答案 2 :(得分:0)
我有一个类似的问题,我希望在数据发生变化的情况下更加一般地处理,同时仍然使用有些圆形的数字。因此我做了一个帮手功能:
endsinone(n) = strstrt(gprintf("%g", incrguess), "1")
getincr(range, maxincr, guess) = range/guess < maxincr ? guess : \
(endsinone(guess) ? getincr(range, maxincr, 5*guess) : getincr(range, maxincr, 2*guess))
然后我只需要传递轴的范围,我想要的最大增量,以及关于我期望最小可能增量的极低限度猜测。为了保持圆形外观数字,我的函数假设猜测可以1eN
或5eN
形式表示某些值N
。即(50是好,所以是0.0000001,5050不是)。使用此功能,您只需执行类似
set xtics getincr(STATS_max, 6, 1e-9)
将返回少于6个抽搐的incr
,并且应该有几个假定STATS_MAX&gt; 1E-9。
答案 3 :(得分:0)
您可以使用例如
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div class="info_container">
<div class="lectures_container"></div>
<a href="#" class="btn btn-add">
<span class="fa fa-plus"></span> Add an input
</a>
</div>
<div class="info_container">
<div class="lectures_container"></div>
<a href="#" class="btn btn-add">
<span class="fa fa-plus"></span> Add an input
</a>
</div>
,它将在x轴上每10个显示抽动。