【发布时间】:2016-02-26 07:23:03
【问题描述】:
【问题讨论】:
标签: matlab plot matlab-figure
【问题讨论】:
标签: matlab plot matlab-figure
不幸的是,我的研究表明在 MATLAB 中没有内置的方法可以做到这一点。我看到其他人建议:
扭曲您自己数据中的字段,例如将 x 值从 10、30 和 50 更改为 100、300 和 500 以获得 10 倍放大率,然后将 500 添加到所有其他 x 值,因此它们向右移动;然后将标签(见下文)修改为“10”、“30”、“50”、“100”等。
使用直方图,其中您的 x 轴标签变为 bin,例如 10、30、50、100 等,并且您使用空 bin 来分隔点。
从MathWorks docs看来,您可以任意设置刻度位置,无论是否统一:
ax = gca;
ax.XTick = [-3*pi -2*pi -pi 0 pi 2*pi 3*pi];
ax.YTick = [-1 -0.5 0 0.5 1];
% For R2014a and earlier:
% ax = gca;
% set(ax,'XTick',[-3*pi -2*pi -pi 0 pi 2*pi 3*pi])
% set(ax,'YTick',[-1 -0.5 0 0.5 1])
因此,编写一个函数来创建所需的间距并将其返回分配给XTick。在您的情况下,您似乎只需要检索要绘制的点的域值。
【讨论】:
ax.XTick = [100 200 300 400 500 700 850 1000 1150 1300]。如果您愿意,可以从您的点的域中推导出这些。相反,如果您的意思是您希望扭曲 x 轴 field 以便您的点位于不同的位置,那么我认为您需要在问题中这么说。是关于你的标签还是你的观点?