MATLAB - 增加x轴点之间的间距(非均匀绘图),而不是对数

时间:2016-02-26 07:23:03

标签: matlab plot matlab-figure

我想增加x轴点之间的间距,以便例如在下图中,10 30之间的距离增加,1150和1300之间的距离减小。

enter image description here

1 个答案:

答案 0 :(得分:0)

回答新问题(扭曲x轴场以影响点):

不幸的是,我的研究表明在MATLAB中没有内置的方法。我看到其他人暗示:

  1. 在您自己的数据中扭曲字段,例如将x值从10,30和50更改为100,300和500以获得10倍放大率,然后将500添加到所有其他x值因此它们向右移动;然后修改标签(见下文)以阅读&#34; 10&#34;,&#34; 30&#34;,&#34; 50&#34;,&#34; 100&#34;等< / p>

  2. 使用直方图,其中x轴标签成为分档,例如 10,30,50,100等,并且您使用空箱来分隔点。

  3. 回答旧问题(影响x轴标签和刻度,而不是点):

    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。在您的情况下,您似乎只需要检索要绘制的点的域值。