[matlab] 2.数据可视化
t=(0:0.01:2)*pi;
x=sin(t);
y=cos(t);
z=cos(2*t);
plot3(x,y,z,'r-','linewidth',1.5);
box on; %打开坐标系边框
legend('三维曲线作图');
三维曲线绘图
x=0:0.2:1;
y=x;
[x y]=meshgrid(x,y);
plot(x,y,'b+')
%这就是所有(x,y)的取值 ,然后计算所有的z=f(x,y)就可以了
利用meshgrid生成网格节点
dd=0.001;n=1+1/dd;
[x,y]=meshgrid(0:dd:1,0:dd:1);
z=0;
for j=1:n
for i=1:n
if x(i,j)<sqrt(1-y(i,j).^2)
z(i,j)=x(i,j).^2+y(i,j).^2;
else
z(i,j)=0;
end
end
end
surf(x,y,z);
shading flat;
z=x^2+y^2被圆柱面x^2+y^2=1以及三坐标平面所截得的在第一卦限的图像
附件链接( 密码ju5z )
下载附件 a.csv 给出了高程数据,共有 2913 列,2775 行
filename = 'a.csv';
z = csvread(filename);
x0=1:1:2775;
y0=1:1:2913;
[xx0,yy0]=meshgrid(x0,y0);
xx=xx0';%依题意 进行转置
yy=yy0';
figure
contourf(xx,yy,z,8)
saveas(gcf,['e:\','a','.png']); %无损存图
等高图
filename = 'a.csv';
z = csvread(filename);
y0=1:1:2913;
x0=1:1:2775;
[xx0,yy0]=meshgrid(x0,y0);
xx=xx0';%依题意 进行转置
yy=yy0';
contour(xx,yy,z,[1,3000],'r.')
saveas(gcf,['e:\','test','.png']); %存图
截取特定高程范围的轮廓图
filename = 'a.csv';
z = csvread(filename);
x0=1:1:2775;
y0=1:1:2913;
[xx0,yy2]=meshgrid(x0,y0);
xx=xx0';%依题意 进行转置
yy=yy0'; s=surf(xx,yy,z);
s.EdgeColor = 'none';
shading flat; hold on
title('Contour map of the area');
xlabel('East(Degree)');
ylabel('South(Degree)');
hold off saveas(gcf,['e:\','a','.png']); %存图 比gui存图
三维立体图
function y = circle( x,y,r )
rectangle('Position',[x-r,y-r,2*r,2*r],'Curvature',[1,1],'linewidth',1),axis equal
end
标记函数
[x, y] = meshgrid(1:10); %构造测量网格
h = [0, 0.02, -0.12, 0, -2.09, 0, -0.58, -0.08, 0, 0;...
0.02, 0, 0, -2.38, 0, -4.96, 0, 0, 0, -0.1;...
0, 0.1, 1, 0, -3.04, 0, -0.53, 0, 0.1, 0;...
0, 0, 0, 3.52, 0, 0, 0, 0, 0, 0;...
-0.43, -1.98, 0, 0, 0, 0.77, 0, 2.17, 0, 0;
0, 0, -2.29, 0, 0.69, 0, 2.59, 0, 0.3, 0;...
-0.09, -0.31, 0, 0, 0, 4.27, 0, 0, 0, -0.01;...
0, 0, 0, 5.13, 7.4, 0, 1.89, 0, 0.04, 0;...
0.1, 0, 0.58, 0, 0, 1.75, 0, -0.11, 0, 0;...
0, -0.01, 0, 0, 0.3, 0, 0, 0, 0, 0.01]; %测量数据点
[xi, yi] = meshgrid(1:0.01:10); %构造插值网格
hi = griddata(x, y, h, xi, yi, 'v4'); %griddata进行V4插值
surf(hi); %画出地貌
shading flat; %去除网格线
colorbar;
xlabel('x'), ylabel('y'), zlabel('h')
在缺少数据的情况下进行插值绘图
未经插值的原图是
MATLAB RGB数值
figure
ax1 = subplot(2,1,1);
x = linspace(0,10,50);
y1 = sin(2*x);
plot(ax1,x,y1)
title(ax1,'Subplot 1')
ylabel(ax1,'Values from -1 to 1') ax2 = subplot(2,1,2);
y2 = rand(50,1);
scatter(ax2,x,y2)
title(ax2,'Subplot 2')
ylabel(ax2,'Values from 0 to 1')
使用子图在图窗中创建多个坐标区
使用 subplot
函数在一个图窗中创建多个坐标区,该函数可将图窗划分为若干个子图网格。
例如,创建两个堆叠子图,并将 Axes
对象赋给变量 ax1
和 ax2
。在每个子图中添加绘图、标题和轴标签。指定 Axes
对象作为每个 graphics 函数的第一个输入参数,以确保此函数以正确的坐标区为目标。
[matlab] 2.数据可视化的更多相关文章
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- ECharts-基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表
ECharts http://ecomfe.github.com/echarts 基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算 ...
- Caffe学习系列(13):数据可视化环境(python接口)配置
caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...
- Linux 上的数据可视化工具
Linux 上的数据可视化工具 5 种开放源码图形化工具简介 Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟.幸运的是,这 ...
- 开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts
开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts 本人项目中最近有需要图表的地方,偶然发现一款超级漂亮的动态图标js图表控件,分享给大家,觉得好用的就看一下.更多更漂亮的演示大家可 ...
- matplotlib实现数据可视化
一篇matplotlib库的学习博文.matplotlib对于数据可视化非常重要,它完全封装了MatLab的所有API,在python的环境下和Python的语法一起使用更是相得益彰. 一.库的安装和 ...
- Python数据可视化——使用Matplotlib创建散点图
Python数据可视化——使用Matplotlib创建散点图 2017-12-27 作者:淡水化合物 Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D ...
- python 爬虫与数据可视化--matplotlib模块应用
一.数据分析的目的(利用大数据量数据分析,帮助人们做出战略决策) 二.什么是matplotlib? matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB ...
- 【数据科学】Python数据可视化概述
注:很早之前就打算专门写一篇与Python数据可视化相关的博客,对一些基本概念和常用技巧做一个小结.今天终于有时间来完成这个计划了! 0. Python中常用的可视化工具 Python在数据科学中的地 ...
随机推荐
- virtualbox中 Ubuntu挂载共享文件夹
1. 进入 /mnt 目录 2. 新建目录 share 3. sudo mount -t vboxsf share /mnt/share(其中的第一个share是共享文件夹的名字) 4. 成功
- Android 实现倒计时操作
new CountDownTimer(10000, 1000) { @Override public void onTick(long millisUntilFinished) { } @Overri ...
- h5网页水印SDK的实现代码示例
在网站浏览中,常常需要网页水印,以便防止用户截图或录屏暴露敏感信息后,追踪用户来源.如我们常用的钉钉软件,聊天背景就会有你的名字.那么如何实现网页水印效果呢? 网页水印SDK,实现思路 1.能更具获取 ...
- layui table 表格模板按钮实例
这是个是全部的jsp 页面: <%@page pageEncoding="UTF-8" contentType="text/html; charset=UTF-8& ...
- Mysql sql 功能分类
分类 DDL:数据定义语言,用于定义数据库对象,比如创建表,列,库等 DML:数据操作语言,用于添加.删除.修改数据 DQL:数据查询语言,用于查询(结果集是虚拟表,放在内存中) DCL:数据控制语言 ...
- Python高级特性:迭代
迭代的目的是实现遍历出一个可迭代对象的元素,即for循环 基本语法 : for ... in ... 首先只有可迭代对象才可以迭代,判断一个对象是不是可以迭代的方法如下: >>> f ...
- Android包管理机制(一) PackageInstaller的初始化
前言 包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一. 包指的是Apk.jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一 ...
- FreeSWITCH1.6安装教程Centos
介绍 FreeSWITCH是个网络电话转化器,相当与网络转换器,不过这个是用于IP电话,构建公司的电话通讯系统需要用该技术,因为按照官方文档无法成功安装. 本文目的:FreeSWITCH安装步骤 官方 ...
- Android Handler、Message、MessageQueue和Looper官方说明
Handler官方说明 官方API文档:https://developer.android.google.cn/reference/android/os/Handler Handler允许您发送和处理 ...
- SQL强化练习(面试与学习必备)
一.经典选课题A 1.1.请同时使用GUI手动与SQL指令的形式创建数据库.表并添加数据. 题目:设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教 ...