matlab用plot三点画圆_matlab – 在绘图中的点周围绘制圆圈
您可以使用
viscircles(这需要
Image Processing Toolbox)轻松完成此操作,但我不认为输出实际上是您所期望的.
radius = 0.3524;
dots = plot(timeline, Origdata, '.');
hold on
for k = 1:numel(dots)
plotdata = get(dots(k));
centers = [plotdata.XData(:), plotdata.YData(:)];
% Ensure the the colors match the original plot
color = get(dots(k), 'Color');
viscircles(centers, radius * ones(size(centers(:,1))), 'Color', color);
end
看起来这是因为你的X数据相对于你的y数据非常接近,而圆圈显示为圆圈,我强迫轴的x和y比例相等(轴相等)
编辑
如果您只希望半径相对于y轴(距离),那么我们实际上需要绘制具有x和y半径的椭圆.我们希望缩放“x-radius”以使其显示为圆形而不管您的真实轴长宽比,这样的事情实际上可以做到这一点.
以下代码的技巧是将数据和绘图宽高比(pbaspect和daspect)设置为手动.这可确保在缩放,调整大小等过程中轴的纵横比不会发生变化,并确保我们的“圆圈”保持圆形外观.
dots = plot(timeline, Origdata, '.');
drawnow
% Force the aspect ratio to not change (keep the circles, as circles)
pbaspect('manual')
daspect('manual')
hold on
aspectRatio = daspect;
t = linspace(0, 2*pi, 100);
t(end+1) = NaN;
radius = 4.3524;
% Scale the radii for each axis
yradius = radius;
xradius = radius * aspectRatio(1)/aspectRatio(2);
% Create a circle "template" with a trailing NaN to disconnect consecutive circles
t = linspace(0, 2*pi, 100);
t(end+1) = NaN;
circle = [xradius*cos(t(:)), yradius*sin(t(:))];
for k = 1:numel(dots)
x = get(dots(k), 'XData');
y = get(dots(k), 'YData');
color = get(dots(k), 'Color');
% Center circle template at all points
circles = arrayfun(@(x,y)bsxfun(@plus, [x,y], circle), x, y, 'uni', 0);
circles = cat(1, circles{:});
plot(circles(:,1), circles(:,2), 'Color', color)
end
只是为了证明,如果我们将圆半径增加到4.3524,我们可以更好地看到圆圈.
这适用于所有调整大小等.
matlab用plot三点画圆_matlab – 在绘图中的点周围绘制圆圈相关推荐
- matlab用plot三点画圆_怎样用Matlab 过三个点画外接圆?
展开全部 可以这样做:32313133353236313431303231363533e58685e5aeb931333363356630 主程序clc;clear A=[1,2]; B=[2,3]; ...
- matlab三位画图_matlab 3D绘图详解(示例代码)
1.三维曲线: plot3() →plot3(X1,Y1,Z1,...) →plot3(X1,Y1,Z1,LineSpec,...) →plot3(...,'PropertyName',Propert ...
- matlab fprintf保留三位小数_MatLab简易教程 #3.变量
不同于其他语言(JAVA...),matlab可以直接进行变量的赋值,不需要申明类型,例如: a = 10 %给a赋值10b = 1.5 % 给b赋值1.5 在matlab也可以直接使用表达式来进行赋 ...
- matlab 图片最多显示几张_matlab在一个figure中显示多幅图像
以显示2行3列为例: subplot(2,3,1);imshow("1.jpg"); title('first img','fontname','Times New Roman', ...
- 计算机图形学E3——OpenGL 中点画圆
其他计算机图形学实验见 链接 #include<iostream> #include<GL/glut.h> using namespace std;float bx, by, ...
- python中plot实现即时数据动态显示方法_python中plot实现即时数据动态显示方法
在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法.考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固 ...
- matlab如何在地图上绘制圆圈
要在 Matlab 中在地图上绘制圆圈,可以使用 geopoint 函数创建圆圈的圆心位置,然后使用 geobubble 函数绘制圆圈. 示例代码如下: lat =39.9; % 纬度 lon = 1 ...
- MATLAB实现利用三个不共线的点绘制圆(包括圆心和半径的求解)
通过三个不共线的平面点绘制圆形/MATLAB实现 1: 三个不共线的点求解圆心和半径 假设三个不共线的点的坐标分别为P1(x1,y1).P2(x2,y2)P1(x1,y1).P2(x2,y2)P1(x ...
- 实验三matlab实现,实验三_MATLAB基本绘图练习.doc
实验三_MATLAB基本绘图练习 实验 Matlab强大的图形处理功能掌握应用Matlab实现二维图形和三维图形的绘制和控制与表现方法1.y1=sin(x)),y2=cos(x) (),等间隔取100 ...
最新文章
- R语言dplyr包mutate_all函数一次性处理所有的数据列的内容(使用统一的函数)实战
- python安装cv2模块_pythonimportcv2importError:DLLloadfailed:找不到指定模块
- 为什么一般要定义析构函数为虚析构函数
- 非存储过程分页- 前台分页样式和控件
- Android API Level对应Android版本一览表
- 区块链和java哪个更难_java 区块链中设计合理的难度系数
- 【飞谷六期】爬虫项目4
- python爬虫程序自动结束-在linux下python爬虫进程发生异常时自动重启直至正常结束的方法...
- 多线程锁,线程池,消费者生产者模型
- 【Flink】FLink SQL TableException: Table sink doesn‘t support consuming update changes which is
- UVA10990 Another New Function【欧拉函数打表】
- Ceph分布式存储学习指南1.12 Lustre
- DVWA之SQL注入代码审计
- 汇川AM系列Modbus通信设置
- Nmap发现局域网中存活主机
- 信息熵、相对熵与交叉熵
- 小程序中插入腾讯视频
- keil和protues仿真点亮一个LED灯
- 案例分析:股票涨跌预测
- i5 1240p使用perf避坑指南
热门文章
- 马斯克和扎克伯格线上约架,地点“票价”都已定;超10万个ChatGPT账号泄露;苹果推出Vision Pro开发工具|极客头条
- 莫烦 Python 激励函数
- 字幕文件SRT转VTT格式(Java版)
- mui tap事件,mui.confirm弹窗出现两次
- BMZCTF:BMP
- 01.理解网络编程和套接字
- 模拟卷Leetcode【普通】347. 前 K 个高频元素
- IntelliJ IDEA 2019 配置 PHP 调试 xdebug 并进行测试
- vs如何运行php文件,vscode+phpstudy2018构建php调试环境
- 放过机器人吧!人类真正需要担忧的是人工智能