如何解决强制绘制点间隔的第一个点
我试图使用pointinterval命令绘制图形,但我希望绘制数据的第一个点,而对于第一个图的热端则不是这种情况。确实,我们看到了紫色虚线,但在左下角(y + = 0.35左右)没有任何点。
我的代码涉及for循环,并显示在下面:
plot for [i=1:words(FILES)] myDataFile(i) u (column(1)):(column(6)/word(UTAUS_ch,i)) w lp pointinterval 2 pt myPointtype(i) ps myPointsize(i) dt myDashtype(i) lt myLinetype(i) lw myLinewidth(i) lc rgb myLinecolor(i) title myTitle(i)
如果我用pointinterval 1作图,我们会发现这些点存在(请参见下图)。
如何强制使用pointinterval绘制第一个点?
是否可以每2点绘制一半的点,每2点绘制另一部分,但偏移1点?
解决方法
我认为您无法使用pointinterval
属性来执行您想要的操作。进行设计时,对于每个绘制的图,初始点的偏移量将增加一个,目的是减少来自连续图的点符号重叠的机会。这与您尝试做的完全相反。
因此,我建议不要绘制每个数据集with linespoints pi N
。而是使用with lines
说明符中的过滤器,如下图绘制每个数据集两次,一次with points
和一次using
,
plot FOO using 1:2 with lines,'' using ((int($0)%N) ? NaN : $1) : 2 with points
过滤器(int($ 0)%N?NaN:$ 1)抑制行号不能被N整除的所有点。这实际上是pointinterval
属性的工作,除了pointinterval
跳过超出范围的点和其他无法绘制的点,而不是严格使用行号作为索引。
编辑如果由于x坐标不一致而需要单独的偏移值:
array offset[N] = [1,1,2,-1,and so on]
plot for [i=1:N] \
MyDataFile(i) using 1:2 with lines,\
'' using (((int($0)+offset[i] % N) ? NaN : $1) : 2 with points
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。