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. 精读《React PowerPlug 源码》

    1. 引言 React PowerPlug 是利用 render props 进行更好状态管理的工具库. React 项目中,一般一个文件就是一个类,状态最细粒度就是文件的粒度.然而文件粒度并非状态管 ...

  2. opensuse使用zypper安装软件

    安装软件(opensuse) opensuse 通过zypper可以方便的进行软件管理,类似centos的yum 软件. 命令参考 软件包操作 搜索软件 zypper search package 安 ...

  3. 3分钟学会如何调度运营海量Redis系统

    本文由云+社区发表 作者:冯伟源 作者:冯伟源,高级工程师,腾讯云Redis系统运维负责人.6年DBA经验,一直从事SQL优化.实例调优.数据库架构.海量数据库集群运维.运营平台建设和管理等工作.为 ...

  4. ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证

    前文索引:ASP.NET Core教程[一]关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: <a asp-page="/Index" ...

  5. 适用于app.config与web.config的ConfigUtil读写工具类

    之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一个更完善的版本,增加批量读写以及指定配置文件路径,代码如下: using System ...

  6. 用C#写的一个OA类的APP, ios、Android都能跑,有源代码

    这是一个用C#写的OA类APP,功能包含请假.报销.部门管理.签到.IM.文件上传等功能 话不多说,先看视频 视频地址:http://v.youku.com/v_show/id_XMzUwMjQ1Mz ...

  7. WPF 客户端浏览器 添加Loading加载进度

    在windows开发界面时,使用浏览器来请求和显示网页内容,是比较常见的. 但是在请求网页内容时,因网速或者前端功能复杂加载较慢,亦或者加载时遇到各种问题,如空白/黑屏/加载不完整/证书问题等. 因此 ...

  8. Android安全——加固原理

    一.前言 今天来介绍一下Android中的如何对Apk进行加固的原理.现阶段.我们知道Android中的反编译工作越来越让人操作熟练,我们辛苦的开发出一个apk,结果被人反编译了,那心情真心不舒服.虽 ...

  9. 01-css的引入方式

    [转]01-css的引入方式 引入css方式(重点掌握) 行内样式 内接样式 外接样式 3.1 链接式 3.1 导入式 css介绍 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述 ...

  10. 全球排名第一的免费开源ERP Odoo 12产品上海发布会报名开始

    Odoo V12 产品上海发布会暨企业数字化转型论坛 点击进入活动报名通道 高成本的软件开发,耗时的系统安装,繁琐的操作培训… 这一系列问题都是企业数字化管理的痛点, "软件"成为 ...