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. Chapter 4 Invitations——12

    "I don't know what you mean," I said, my voice guarded. “我不知道你什么意思”我声音谨慎地说道. "It's be ...

  2. 使用logdashboard查看可视化日志

    logdashboard 日志面板是我在Github写的一个开源项目,旨在让查看日志变的方便快捷.在线预览 现在功能有日志检索.趋势图.异常堆栈快速查看.日志详情等 logdashboard支持自定义 ...

  3. Spring Boot分布式系统实践【2】-框架搭建

    前言 技术选型已经做完,那就来搭建框架了. 首先基于mvc思想,设计这套框架也是基于此,也会设计Dao层.Service层.Controller层.视图层等,同时也要考虑到dubbo的调用原理.   ...

  4. ELK-logstash案例实战之读取日志输出到elasticsearch

    简介:从日志文件中读取日志,输出到elasticsearch集群中 $ cd /home/es/logstash-/config $ vim test3_es.conf $ cd /home/es/l ...

  5. logback配置信息

    <?xml version="1.0" encoding="UTF-8"?> <configuration scan="true&q ...

  6. Django学习笔记(6)——Form表单

    知识储备:HTML表单form学习 表单,在前端页面中属于最常见的一个东西了.基本上网站信息的提交都用到了表单,所以下面来学习Django中优雅的表单系统:Form 表单的主要作用是在网页上提供一个图 ...

  7. .Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何快速调用电话拨打功能

    样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的”Smobiler Components”拖动一个PhoneButton控件到窗体界面上 2.修改PhoneButton ...

  8. 第15章 使用EntityFramework Core进行配置和操作数据 - Identity Server 4 中文文档(v1.0.0)

    IdentityServer旨在实现可扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制.本快速入门展示了如何配置IdentityServer以使用EntityFramewo ...

  9. demo_2

    业务层 package com.demo.service; import com.demo.pojo.User; public interface IUserService { /** * 用户登录 ...

  10. python之字符串反转

    def main(): a = "abcdefg" a = a[::-1] print(a) if __name__ == '__main__': main()