【发布时间】:2016-07-05 02:08:56
【问题描述】:
我想知道在绘制图形时如何提高 x/y 轴的精度。
我已经初始化了option long
我有一个数据集,例如:
x(1:3)
ans =
736330.576631944
736330.576643519
736330.576655093
y(1:3)
ans =
-62
-63
-62
当我做plot(x(1:3),y(1,3))时,我只能看到-62和-63之间的一条垂直线,好像x轴没有足够的小数识别变化的地方。
get(gca, 'xticklabel')
ans =
{
[1,1] = -2e+006
[1,2] = -1.5e+006
[1,3] = -1e+006
[1,4] = -500000
[1,5] = 0
[1,6] = 500000
[1,7] = 1e+006
[1,8] = 1.5e+006
}
这是我从 get gca() 函数中得到的。有没有办法提高 x 轴的精度,以便我可以看到数据点在移动?
非常感谢您的帮助
【问题讨论】:
-
尝试手动设置您的
xlim以达到您所需的规模。否则,请考虑将您的整个x数据集移动 736330,这无论如何都有助于理解小的变化。 -
非常感谢,移位工作,但问题是 x 值是从 datenum() 获得的,后来我需要使用 datetick('x', 13);这在轮班后将不起作用.....在 736330 和 736331 之间设置 xlim 不起作用,它只是将所有内容四舍五入到 736331
-
嗯,你应该在转换之前把它移回来。要么您尝试绘制为“736331”,您可以将其转换,或者您尝试绘制为“12/03/2016”,在这种情况下您不需要转换。我是不是误会了?
-
嗨,安德拉斯,谢谢。所以基本上我有一个像 143715 这样的数字数组,我使用 datestr() 将它们转换为时间 14:37:15 的单元格。这是我的时间单元,我有超过 2000 个条目。然后我使用 datenum(time,13) 将其转换为数字,以便我可以将它们绘制在 x 轴上。我拥有的 736330.xxxxx 列表位于该 datenum() 函数之后。然后我使用 datetick() 将 x 轴转换回 HH:MM:SS 格式。问题是 Octave 绘图要么将这些数字四舍五入为 736331,要么将它们四舍五入为 736330,最后我有 2 个垂直条。
-
问题排序,需要切换到graphics_toolkit("gnuplot"),然后读取小数位