circle.m(画二维圆的函数)

%该函数是画二维圆圈,输入圆心坐标和半径
%rectangle()函数参数‘linewidth’修饰曲线的宽度
%'edgecolor','r',edgecolor表示边框颜色,r表示颜色参数
%'facecolor','b',facecolor表示内部填充颜色,b表示颜色参数
function [] = circle( x,y,r )
rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],'linewidth',1);
axis equal;
end
draw_arrow.m(画两坐标点之间箭头的函数)

%该函数是画从一坐标点到另一坐标点的指向箭头

function draw_arrow(start_point, end_point)
% 从start_point到end_point画一箭头

K = 0.05; %箭头比例系数

theta = pi / 8; %箭头角度
A1 = [cos(theta), -sin(theta);
sin(theta), cos(theta)]; %旋转矩阵
theta = -theta;
A2 = [cos(theta), -sin(theta);
sin(theta), cos(theta)]; %旋转矩阵

arrow = start_point' - end_point';

arrow_1 = A1 * arrow;
arrow_2 = A2 * arrow;
arrow_1 = K * arrow_1 + end_point';
arrow_2 = K * arrow_2 + end_point';

hold on;
grid on;
axis equal;
plot([start_point(1), end_point(1)], [start_point(2), end_point(2)], 'k');
plot([arrow_1(1), end_point(1)], [arrow_1(2), end_point(2)], 'k');
plot([arrow_2(1), end_point(1)], [arrow_2(2), end_point(2)], 'k');
hold off;

read_file.m(主函数)

clear;
close all;
clc;
%importdata 函数允许加载各种数据的不同格式的文件
data=importdata('data.csv'); %读取csv数据文件
%disp(data); %disp函数:显示文本或数组
for i=1:75
if i<=7
x=data(i,1);
y=data(i,2);
plot(x,y,'rs'),axis([0 400 0 800]);
hold on;
else
x=data(i,1);
y=data(i,2);
plot(x,y,'g.'),axis([0 400 0 800]);
hold on;
end
end
xlabel('x/km'),ylabel('y/km'); %添加标签
hold on;
%grid on;%添加网格
circle(data(8,1),data(8,2),70); %调用画圆圈的函数
circle(data(18,1),data(18,2),70);
circle(data(27,1),data(27,2),70);
circle(data(32,1),data(32,2),70);
circle(data(42,1),data(42,2),70);
circle(data(49,1),data(49,2),70);
circle(data(55,1),data(55,2),70);
circle(data(61,1),data(61,2),70);
circle(data(66,1),data(66,2),70);
circle(data(71,1),data(71,2),70);
draw_arrow([data(55,1), data(55,2)],[data(66,1), data(66,2)]); %调用画箭头的函数
draw_arrow([data(3,1), data(3,2)],[data(66,1), data(66,2)]);
axis([-100 400 0 800]);
hold on;
结果为:

data.csv数据如下(位置的坐标):

368,319
264,44
392,220
360,110
392,275
296,242
256,121
264,715
258,719
274,728
264,728
254,728
257,733
260,731
262,733
268,733
270,739
225,605
223,598
210,605
220,610
223,615
209,615
230,620
220,622
205,618
168,538
168,542
164,544
168,545
174,544
210,455
180,455
175,452
170,453
185,460
178,460
190,470
183,473
175,472
180,476
120,400
119,388
112,394
125,410
114,405
116,410
113,416
96,304
88,305
100,312
93,311
86,310
94,315
10,451
11,449
13,450
16,450
12,453
15,455
162,660
161,659
159,659
160,657
164,658
110,561
110,563
110,565
109,567
112,568
105,473
106,471
103,473
107,475
104,477

附加:

plot函数

Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:

参考:

1、matlab详细绘图

2、matlab教程
---------------------
作者:Asia-Lee
来源:CSDN
原文:https://blog.csdn.net/asialee_bird/article/details/80286591
版权声明:本文为博主原创文章,转载请附上博文链接!

matlab读取csv文件数据并绘图的更多相关文章

  1. matlab读取csv文件并显示

    传统的方式可以通过读取文件,然后处理字符串的方式对csv文件进行解析,在matlab中可以通过csvread函数读取csv文件,然后通过plot对数据进行显示,也可以对里面的函数进行分析: csv文件 ...

  2. C#使用Linq to csv读取.csv文件数据

    前言:今日遇到了一个需要读取CSV文件类型的EXCEL文档数据的问题,原本使用NPOI的解决方案直接读取文档数据,最后失败了,主要是文件的类型版本等信息不兼容导致.其他同事有使用linq to csv ...

  3. C#使用Linq to csv读取.csv文件数据2_处理含有非列名数据的方法(说明信息等)

    第一篇博客为:https://www.cnblogs.com/lxhbky/p/11884474.html 本文主要是为了解决上面博客遗留的一个含有不规范数据的一种方法,目前暂时没有从包里发现可以从第 ...

  4. C#_.net core 3.0自定义读取.csv文件数据_解决首行不是标题的问题_Linqtocsv改进

    linqtocsv文件有不太好的地方就是:无法设置标题的行数,默认首行就是标题,这不是很尴尬吗?   并不是所有的csv文件严格写的首行是标题,下面全是数据,我接受的任务就是读取很多.csv报表数据, ...

  5. python读取csv文件数据绘制图像,例子绘制天气每天最高最低气温气象图

  6. VB 读取csv文件数据

    Public adoConn As New ADODB.Connection Private Sub csv() adoConn.ConnectionString = "Driver={Mi ...

  7. php 生成读取csv文件并解决中文乱码

    csv其实是文本文件,但是里面的内容是利用逗号分隔的. 1. 生成csv文件 function new_csv($arr) { $string=""; foreach ($arr ...

  8. java读取目录下所有csv文件数据,存入三维数组并返回

    package dwzx.com.get; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; ...

  9. python之小应用:读取csv文件并处理01数据串

    目的:读取csv文件内容,把0和1的数据串取出来,统计出现1的连续次数和各次数出现的频率次数 先读取csv文件内容: import csv def csv_read(file): list = [] ...

随机推荐

  1. 老代码多=过度耦合=if else?阿里巴巴工程师这样捋直老代码

    简介 在业务开发的过程中,往往存在平台代码和业务代码耦合严重难以分离.业务和业务之间代码交织缺少拆解的现象.平台和业务代码交织导致不易修改,不同业务的代码交织增加了不同负责团队之间的协同成本.因此不论 ...

  2. windows powershell一些操作

  3. Docker容器运行ASP.NET Core

    最近要学习的知识太多,都不知道先学哪些了,原本计划这篇博客是写xamarin.forms中的listview用法,关于listview的用法简书上有一篇介绍的也比较详细,所以暂时先缓一缓,属于次要任务 ...

  4. python学习笔记(十 四)、web.py

    使用web.py 通过python进行网页的编写,下面我们来简单了解一哈web.py 的使用 1 url处理 使用特定的url结构来解析我们发送的请求.如下面所示: urls = ( '/login' ...

  5. Android开发过程中的坑及解决方法收录(四)

    1.某个控件要放在Linearlayout布局的底部(底部导航条) <LinearLayout xmlns:android="http://schemas.android.com/ap ...

  6. 小tips:path的join和resolve的使用区别

    1.连接路径:path.join([path1][, path2][, ...]) path.join()方法可以连接任意多个路径字符串.要连接的多个路径可做为参数传入. path.join()方法在 ...

  7. freemark使用总结

    1.下拉框中使用三元表达式: <option value="1类" ${(bean.col5!?string="1类")?string('selected ...

  8. Building QGIS from source - step by step(随笔2)

    QT安装 在Windows上安装QGIS,首先需要安装VS,VS的版本根据需要的版本下载,注意QGIS版本与VS版本对应.另外QT下载安装也需要与VS版本的安装对应.本机系统装的VS10,对应QT版本 ...

  9. AEAI CRM V1.6.0 升级说明,开源客户关系管理系统

    1 升级说明 AEAI CRM v1.6.0版是AEAI CRM v1.5.2版客户关系管理系统的升级版本,本次版本是基于AEAI DP v3.8.0_20170228进行打包部署的,升级内容主要是针 ...

  10. C++二分查找算法演示源码

    如下内容段是关于C++二分查找算法演示的内容. #include <cstdio>{ int l = 0, r = n-1; int mid; while (l <= r){ mid ...