Matlab任意两点之间绘制带箭头的直线
Matlab任意两点之间绘制带箭头的直线
简单绘制任意两点之间。本来不想自己写的,可是网上的代码用起来不舒服,所以简单看看原理,原来就是个坐标变换而已。索性自己写了一份,分享如下:
function drawarrow(x,y,lineType,ax)
switch nargincase 2lineType='arrow';ax=gca;case 3ax=gca;
end
% 调整坐标大小以适应箭头长度
xlim=ax.XLim;
ylim=ax.YLim;
xlimmin=xlim(1);xlimmax=xlim(2);
ylimmin=ylim(1);ylimmax=ylim(2);
if xlimmin>min(x(1),y(1)), xlimmin=min(x(1),y(1));end
if xlimmax<max(x(1),y(1)), xlimmax=max(x(1),y(1));end
if ylimmin>min(x(2),y(2)), ylimmin=min(x(2),y(2));end
if ylimmax<max(x(2),y(2)), ylimmax=max(x(2),y(2));end
ax.XLim = [xlimmin,xlimmax];
ax.YLim = [ylimmin,ylimmax];
xlim=ax.XLim;
ylim=ax.YLim;
pos=ax.Position;
x_ratio = pos(3)/(xlim(2)-xlim(1));
y_ratio = pos(4)/(ylim(2)-ylim(1)); % 缩放比例
orig_pos=[-xlim(1)*x_ratio+pos(1),-ylim(1)*y_ratio+pos(2)]; % figure坐标系中的原点坐标
x=x.*[x_ratio,y_ratio];y=y.*[x_ratio,y_ratio];
x=x+orig_pos;y=y+orig_pos;
annotation(lineType,[x(1),y(1)],[x(2),y(2)])
end
结果如下图中箭头所示:
简单调用
>> x=[0,0];y=[2,2];
>> drawarrow(x,y)
把最后一句替换一下可以设置箭头属性:
ar=annotation(lineType,[x(1),y(1)],[x(2),y(2)]);
ar.Color='Red';
ar.LineStyle='-.';
ar.LineWidth=1;
Matlab任意两点之间绘制带箭头的直线相关推荐
- plotcylinder matlab,Matlab在任意两点之间绘制三维圆柱
Matlab在任意两点之间绘制三维圆柱 Matlab在任意两点之间绘制三维圆柱 此函数可能存在一些不足,请多多指教! function plotcylinder(u1,u2,color_a,r) L= ...
- Android Canvas绘制带箭头的直线
先看下效果图: 下面我们直接看代码 我自定义了一个View,代码如下: package com.davis.drawtrangle;import android.content.Context; im ...
- 【MFC】如何画带箭头的直线
[MFC]如何画带箭头的直线 前言 代码 获得箭头坐标 前言 如何绘制带箭头的直线,说来也简单,只需要算出箭头左右两边的坐标,再使用LineTo()函数即可.话不多说上代码. 代码 获得箭头坐标 已知 ...
- Matlab如何绘制带箭头图形
Matlab如何绘制带箭头图形 带箭头坐标轴 带箭头曲线 实例演示 例1 带箭头曲线 例2 带箭头曲线+带箭头坐标轴 联系作者 带箭头坐标轴 前段时间推出了绘制箭头坐标轴曲线的方法,许多网友联系我索取 ...
- C语言入门实战(2):求平面上任意两点之间的距离
这是<C语言入门实战>系列的第2篇. 上一篇:C语言入门实战(1):准备开发环境.快速上手main()函数 下一篇:C语言入门实战(3):秒数转换为时:分:秒 文章目录 题目 提示 参考代 ...
- R语言使用rnorm函数生成正太分布数据、使用plot函数可视化折线图、使用arrows函数在可视化图像中绘制箭头曲线、绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头、2终点箭头,3双箭头)
R语言使用rnorm函数生成正太分布数据.使用plot函数可视化折线图.使用arrows函数在可视化图像中绘制箭头曲线.绘制带箭头线段,可以设置箭头角度,有几个箭头(1起点箭头.2终点箭头,3双箭头) ...
- Dijkstra最短路由算法,求任意两点之间的最短距离【Java】
一.问题 求下图中节点0到节点5之间的最短距离 二.方法 Dijkstra最短路由算法.本文不再赘述,直接上代码,如果不懂,可以参考 文章 三.代码 public class MyDijkstra { ...
- Raphael绘制流程图(二),添加带箭头的直线
上一篇文章中,我们添加了元素(矩形框),接下来给矩形框加上带箭头的直线,代码如下: var wf_r = null; //画板对象 var wf_steps = []; //步骤数组 var wf_w ...
- Echarts绘制带箭头的线
Echarts绘制带箭头的线 这个图主要参考echarts官网的关系图绘制的,难点在于去掉其余导向图的箭头,只保留最后一个节点的箭头,以及处理值为null时箭头的指向问题,代码如下: <temp ...
最新文章
- 阿里云资深总监肖力:安全智能时代公有云更靠谱
- hdu3037 Lucas定理
- 全国计算机二级考试c语言指针,全国计算机二级考试C语言 指针精讲课件.ppt
- Python基本语法元素之温度转换
- Android7.0 Doze模式分析(一)Doze介绍 amp; DeviceIdleController
- HDU-1811 Rank of Tetris
- 12123两小时没付款怎么办_机械厂上班的男朋友,一天十小时,周末不休,没时间陪我怎么办?...
- win8 mysql6_Win8系统 MySQL 6.0 安装图解
- Linux下安装spf13-vim
- 调用另一个cpp的变量_Il2Cpp Internals: 托管调用栈
- gerber文件怎么导贴片坐标_SMT贴片加工有哪些常用的名词
- java 构造块_java中构造方法、普通块、静态代码块、构造块的执行顺序
- 关于G - Naive Operations的一些试探性想法
- 前端jquery学习
- Oracle RAC系列之:ASM基本操作维护
- 2021考研数学一123分经验分享
- 轻量级过程改进之项目启动
- 2022年电子商务概论(农)之形考作业二
- 自己动手开发多线程异步 MQL5 WEBREQUEST
- Riverbed:广域网优化应对“云”发展
热门文章
- 51点菜 的测试用例
- Windows网络编程系列教程之四:Select模型
- 02一般现在时VS现在进行时
- 基于销售漏斗模型的商机管理分析仪
- oracle oui25031,windows平台oracle rac oui-25031问题
- Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect [as oncomplete] (node:
- Yii2之gii的配置与使用
- log4j-maven仓库地址
- matlab柱状图 两列,excel中A、B两列数字做柱状图,但是出来两个柱,怎样让A变成横座标?...
- 环保数采仪下环境大气污染远程在线监测