有办法用代码(最好是MATLAB)画出任意不均匀的y坐标轴下的曲线吗? 您所在的位置:网站首页 matlab画正多边形 有办法用代码(最好是MATLAB)画出任意不均匀的y坐标轴下的曲线吗?

有办法用代码(最好是MATLAB)画出任意不均匀的y坐标轴下的曲线吗?

2023-03-12 23:06| 来源: 网络整理| 查看: 265

说实话不太建议在“任意不均匀”的y轴上作图,毕竟这样会给数据解读带来一定困难,有时候甚至会误导。一般比较常见的是像你举例的图里那样,简单地去合并线性和对数坐标轴。这个在matlab里倒是不难实现。

% generate data x = 0:1000; [xmin, xmax] = bounds(x); y = x; y_cutoff = 10; % plot in two axes figure; ax1 = axes(... 'Units' , 'normalized', ... 'Position' , [0.1 0.1 0.8 0.4]); ax2 = axes(... 'Units' , 'normalized', ... 'Position' , [0.1 0.5 0.8 0.4]); y1 = y; y1(y>y_cutoff) = NaN; y2 = y; y2(y不想要细网格的话就把最后的grid()命令去掉,但我其实推荐保留。

简单来说就是先把数据按照两y轴的数值分界点给分成两块,在ax1和ax2分别画出。然后通过设置axes属性来调整ax2的尺度和其他装饰性内容。保险起见最后可以考虑再加个uistack()命令去把ax1置于上层,不过不是必须。

更灵活的y轴尺度也可以实现,但相对而言就没有这个方法稳健了。而且真的不推荐。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有