MATLAB画矢量箭头图(含MATLAB代码)

112 篇文章 26 订阅

一、代码

主函数:main.m

close all
clear; clc;
x = 0:0.2:4*pi;
y = sin(x);
plot(x, y, '.');
hold on
all_colors1=[0.2 0.9 0.3];%点的颜色
all_colors2=[0.8 0.2 0.4];%线的颜色
for i = 1:length(x)-1
    PlotLineArrow(gca, [x(i), x(i + 1)], [y(i), y(i + 1)], all_colors1, ...
        all_colors2, 1);
end
hold off
xlabel('x')
ylabel('sin(x)')

画图函数:PlotLineArrow.m

function PlotLineArrow(obj, x, y, markerColor, lineColor, lineWidth)
% 绘制散点图
plot(x, y, 'o', 'Color', markerColor, 'MarkerFaceColor', markerColor);
% 获取 Axes 位置
posAxes = get(obj, 'Position');
posX = posAxes(1);
posY = posAxes(2);
width = posAxes(3);
height = posAxes(4);
% 获取 Axes 范围
limX = get(obj, 'Xlim');
limY = get(obj, 'Ylim');
minX = limX(1);
maxX = limX(2);
minY = limY(1);
maxY = limY(2);
% 转换坐标
xNew = posX + (x - minX) / (maxX - minX) * width;
yNew = posY + (y - minY) / (maxY - minY) * height;
% 画箭头
annotation('arrow', xNew, yNew, 'color', lineColor, 'LineWidth', lineWidth);
end

二、效果

在这里插入图片描述
参考:https://zhuanlan.zhihu.com/p/127356584

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值