You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Matlab中绘制如图所示的笛卡尔平面?plot命令无对应设置

实现笛卡尔平面绘图的方法

嘿,我懂你要的那种坐标轴居中的笛卡尔平面——就是和默认plot输出的左下角坐标轴完全不同的样式对吧?其实不用找什么特殊命令,调整现有坐标轴的属性就能搞定,甚至还能自定义得更贴合你的需求,我给你两种实用的方法:

方法一:手动调整坐标轴属性(最推荐,可控性强)

这是最直接的方式,不需要额外工具,通过修改当前轴对象的属性就能实现:

  1. 先创建一个图窗(或者先绘制你的数据),比如先占位画个空点:
    figure;
    plot(0,0); % 占位用,后续可以替换成你的数据
    
  2. 获取当前坐标轴对象:
    ax = gca;
    
  3. 核心设置:把坐标轴移到原点位置
    ax.XAxisLocation = 'origin'; % 将X轴放在Y=0的位置
    ax.YAxisLocation = 'origin'; % 将Y轴放在X=0的位置
    
  4. 去掉默认的边框(只保留交叉的坐标轴):
    ax.Box = 'off';
    
  5. 添加网格并调整显示范围:
    grid on;
    grid minor; % 可选:显示细网格
    xlim([-5 5]); % 设置X轴范围,按需调整
    ylim([-5 5]); % 设置Y轴范围,按需调整
    

完整示例代码

% 创建笛卡尔平面
figure;
ax = gca;

% 核心:坐标轴居中
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';

% 优化显示:去掉边框,添加网格
ax.Box = 'off';
grid on;
grid minor;

% 设置坐标轴范围
xlim([-6 6]);
ylim([-6 6]);

% 可选:添加坐标轴标签和标题
xlabel('X');
ylabel('Y');
title('笛卡尔坐标平面');

方法二:自定义带箭头的坐标轴(进阶需求)

如果你需要带箭头的坐标轴(更贴近数学里的笛卡尔平面样式),可以结合annotation函数绘制箭头:

figure;
ax = gca;

% 隐藏默认坐标轴的线条(只保留刻度)
ax.XAxis.Visible = 'off';
ax.YAxis.Visible = 'off';
ax.Box = 'off';

% 设置范围和网格
xlim([-5 5]);
ylim([-5 5]);
grid on;

% 绘制X轴箭头(从左到右)
annotation('arrow', [0.1 0.9], [0.5 0.5], 'Color', 'k', 'LineWidth', 1.5);
% 绘制Y轴箭头(从下到上)
annotation('arrow', [0.5 0.5], [0.1 0.9], 'Color', 'k', 'LineWidth', 1.5);

% 添加刻度标签(手动对应位置)
xticks(-5:1:5);
yticks(-5:1:5);
xlabel('X', 'Position', [0.9 0.48]);
ylabel('Y', 'Position', [0.48 0.9]);

这种方法自由度更高,能完全复刻数学课本里的笛卡尔平面样式。

内容的提问来源于stack exchange,提问作者Bootuz

火山引擎 最新活动