关于Matlab坐标轴的Position

本文探讨了在Matlab中遇到的坐标轴Position问题,特别是当使用`axis square`命令后,无法准确获取坐标轴原点的问题。文章提到了微博用户星空下的巫师分享的两个MathWorks文件交换链接,30018和32168,其中可能存在的问题,并指出箭头形状与TickLength的关系。作者寻求解决如何在使用`annotation`时更方便地确定画图坐标的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想画一个坐标轴箭头,需要知道axis的坐标:

x1=linspace(0,1,100);
y1=x1.^2;
figure1 = figure('PaperPosition',[0.6345 6.345 20.3 15.23],'PaperSize',[20.98 29.68]);
axes1 = axes('Parent',figure1);
hold(axes1,'all');
plot1 = plot(x1,y1);

% axis square
pos = get(axes1, 'position');
annotation('arrow', [pos(1), pos(1)+pos(3)], [pos(2) pos(2)+pos(4)]);

做出的图如下:


可以看出这个代码:

pos = get(axes1, 'position');
能得出axis的正确的坐标。

但是加上这个

axis square

这个就不能得出这个axis的正确坐标。

x1=linspace(0,1,100);
y1=x1.^2;
figure1 = figure('PaperPosition',[0
### 如何在 MATLAB 中设置或调整坐标轴位置 在 MATLAB 中,可以通过 `axes` 函数创建一个新的坐标系,并通过其属性来控制坐标轴的具体位置和大小。以下是关于如何设置或调整坐标轴位置的相关说明: #### 使用 `Position` 属性定义坐标轴的位置 MATLAB 的 `axes` 对象有一个名为 `Position` 的属性,用于指定坐标轴的位置和尺寸。该属性是一个四元素向量 `[left, bottom, width, height]`,其中: - `left`: 坐标轴左边缘距离图形窗口左侧的距离。 - `bottom`: 坐标轴下边缘距离图形窗口底部的距离。 - `width`: 坐标轴的宽度。 - `height`: 坐标轴的高度。 这些值通常是以归一化的单位表示,默认情况下范围是从 0 到 1[^5]。 #### 设置坐标轴位置的示例代码 下面是一段示例代码,展示如何手动设置坐标轴的位置: ```matlab % 创建一个新的 figure 窗口 figure; % 定义坐标轴的位置参数 [left, bottom, width, height] axis_position = [0.1, 0.1, 0.8, 0.8]; % 创建新的 axes 并设置 Position 属性 ax = axes('Position', axis_position); % 绘制一些数据作为演示 x = linspace(0, 2*pi, 100); y = sin(x); plot(ax, x, y); % 添加标题和标签以便更清晰地显示效果 title('Sine Wave'); xlabel('X Axis Label'); ylabel('Y Axis Label'); ``` 上述代码中的 `Position` 参数可以被修改以适应不同的布局需求。如果需要进一步自定义,则还可以结合其他属性一起使用,比如 `Units` 和 `OuterPosition` 等[^6]。 #### 调整现有坐标轴的位置 对于已经存在的坐标轴对象,可以直接访问并更改它的 `Position` 属性。例如: ```matlab current_axes = gca; % 获取当前活动的坐标轴句柄 new_pos = [0.2, 0.2, 0.7, 0.7]; % 新的位置设定 set(current_axes, 'Position', new_pos); % 应用新位置到现有的坐标轴上 ``` 此方法允许动态更新绘图界面内的任何已存在坐标区域的位置及比例关系。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值