matlab 绘图怎样把坐标原点放在左下角

如图所示,这个坐标原点0 怎么放在左下角啊,我这是只显示了 x 轴标签的0 的结果。

img


如图所示,论文里面的是放在左下角的

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7685784
  • 这篇博客你也可以参考下:[MATLAB]使用命令文件,计算分段函数的值,要求能够根据用户对x的值的不同输入,程序给出对应的结果
  • 你还可以看下matlab参考手册中的 matlab 显示数组详细信息 details
  • 除此之外, 这篇博客: Matlab:图像平移算法的原理实现,缺陷分析及优化中的 那么我们如何将图像坐标系转换为笛卡尔坐标系(也就是我们熟悉的数学坐标系)呢? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 坐标系平移:

    在这里插入图片描述

    设图像宽度为W,高度为H,通过坐标系原点之间的位置关系,我们不难发现,由坐标系Ⅰ平移到Ⅱ的变换矩阵为:

    在这里插入图片描述

    而其逆矩阵为:

    在这里插入图片描述

    而我们得到图像平移的设计思路如下:

    • 将像素所在的图像坐标系转换为笛卡尔坐标系。
    • 将笛卡尔坐标系下的像素进行平移变换。
    • 将像素所在的笛卡尔坐标系转换为图像坐标系。
    coordination_shift=[1 0 -0.5*w;0 -1 0.5*h;0 0 1];%坐标系转换转换矩阵
    rotation=[cos(a) -sin(a) 0; sin(a) cos(a) 0;0 0 1];%旋转矩阵
    shift_back=[1 0 0.5*w_new;0 -1 0.5*h_new; 0 0 1];%还原坐标系矩阵
    
    for y=1:h
        for x=1:w
            xy_position=coordination_shift*[x;y;1];%将像素所在的图像坐标系转换为笛卡尔坐标系。
            xy_rotation=rotation*xy_position;%将笛卡尔坐标系下的像素进行平移变换。
            xy_new=round(shift_back*xy_rotation);%将像素所在的笛卡尔坐标系转换为图像坐标系。
            img_new(xy_new(2),xy_new(1),:)=img(y,x,:);
            end
        end
    end
    subplot(2,2,3),imshow(uint8(img_new));
    

    通过如上的算法及代码实现,我们可以得到基于图像平移算法的实现操作。

  • 您还可以看一下 硬核野生技术咨询客服小李老师的matlab零基础入门路径规划城市遍历机器人路径等问题课程中的 数据显示格式、逻辑值等小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题回答: 在Matlab中绘图时,可以通过设置坐标系方向来实现将坐标原点(0,0)放在左下角。具体步骤如下: 1. 设置坐标系方向为正常方向:set(gca,'YDir','normal') 2. 调整标签位置:xlabel('x'), ylabel('y') 3. 调整坐标范围:xlim([xmin,xmax]), ylim([ymin,ymax]) 示例代码如下:

    x = linspace(-5,5,100);
    y = x.^2;
    plot(x,y)
    set(gca,'YDir','normal')
    xlabel('x')
    ylabel('y')
    xlim([-5,5])
    ylim([0,30])
    

    效果展示: Matlab绘图坐标系方向示例