台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下

上文记录的是关于统计的图标的绘制
下面我们来到另一个模块:颜色

fill()填充函数

功能:某一个封闭曲线,图上特定颜色

举例:把一个停车标志图上颜色

分析:首先要绘制一个八边形,根据前几次笔记,我们知道了几变形的绘制方法,
可以通过linspace()函数,它产生的就是一个角度,可以用来当作极坐标系的theta。按照之前的想法,我们会这样来做

theta=linspace(0,2*pi,9);
r=ones(1,length(theta));
polar(theta,r);

没错,我们确实绘制出来八边形,如下图,但这不是我们想要的

所以,我们还是好好听老师讲吧。
同样要绘制一个八边形,同样是把2*pi的角度分成8份,但是每一份还要一分为二,如下图

接着分析:

解释: 这个间隔用t表示,
如何理解:t=[1:2:15]’*pi/8
意思是[1:2:15]是一个vector,间隔是2:1、3、5、7、9、11、13、15,然后再乘上pi/8,就是八个角度,图上的八个角

例程:

t=(1:2:15)'*pi/8;%画八边形的八个角
y=sin(t);
x=cos(t);
fill(x,y,'r');
axis square off;
text(0,0,'STOP','color','w','fontsize',80,'fontweight','bold','horizontalalignment','center');

作业:绘制一个等待的标志

我的练习结果:

我的练习代码:

t=[0:3]*pi/2;%四个点
y=sin(t);%绘制四条边
x=cos(t);
fill(x,y,'y');%填充颜色
axis square off;%去掉坐标轴边框
text(0,0,'WAIT','color','k','fontsize',80,'fontweight','bold','horizontalalignment','center');

Color space颜色空间

[R G B]向量来决定颜色
每一个坐标值介于0-1之间,同样可以对照到0~255

为什么要把0-1转换成0-255,因为我们有一张颜色表,需要在这里选择配色

每一个颜色使用6位的十六进制的数字表示。
这张表的功能是什么呢?根据这张表上的数字可以选择对应的颜色。

练习题:怎样涂上颜色?

给出源程序,未更改配色,需要你来更改。

G=[46 38 29 24 13];
S=[29 27 17 26 8];
B=[29 23 19 32 7];
h=bar(1:5,[G',S',B']);
title(' medal count for top 5 contries in 2012 olympics');
ylabel('number of medals');
xlabel('country');
legend('gold','silver','bronze');

给出的程序执行的结果配色不对,需要我们来修改

分析:我们需要找到物件的handle,然后设置handle

1,今天学会了bar的索引,不是用大括号,而是用小括号。
2,当我使用RGB颜色的时候只能使用0-1之间的,而0-255之间的会报错

查到灰色的是[0.5,0.5,0.5]
执行这句话才运行通过:

h(2).FaceColor=[.5 .5 .5];

修改完的效果:

源代码:

G=[46 38 29 24 13];
S=[29 27 17 26 8];
B=[29 23 19 32 7];
h=bar(1:5,[G',S',B']);
h(1).FaceColor=[1,1,0];%黄色
h(2).FaceColor=[.5 .5 .5];%灰色
h(3).FaceColor=[0.8 0.5 0.2];%咖啡色
title(' medal count for top 5 contries in 2012 olympics');
ylabel('number of medals');
xlabel('country');
legend('gold','silver','bronze');

matlab颜色对照表(0-1之间取值)
matlab颜色对照表(0-1之间取值)

下一个:

visualizing data as an image :imagesc()颜色可视化

1.display values of a matrix as an’image’
这个指令常用来,让纵轴变成另外一个维度,看起来更直观
使用 imagesc()之前:

使用Imagesc()之后:

例程:

[x,y]=meshgrid(-3:.2:3,-3:.2:3);
z=x.^2+x.*y+y.^2;
surf(x,y,z);
box on;
set(gca,'fontsize',16); zlabel('z');
xlim([-4 4]);xlabel('x');
ylim([-4 4]);ylabel('y');

执行完上述代码的结果:

imagesc(z);
axis square;
xlabel('x');
ylabel('y');

这段程式码执行完的结果:

我们看一下

Color Bar and Scheme

既然z轴是颜色轴,这个z轴的数值怎么知道
只要 下一个指令colorbar;

执行完这个指令后

可不可以更改颜色?颜色就改变了
colormap(hot);%暖色系
colormap(cool);%冷色系
colormap(gray);%灰色
刚才说到colormap,matlab中有很多内建的colormap

Built-in Colormaps


怎么使用呢?
colormap([name]);

那colormap是个什么东西?
colormap说穿了就是一个写好的矩阵
可以下指令查看
a=colormap(prism)
会得到colormap的矩阵

作业题:

这里有几行代码,你要写几行代码,让结果看起来是图上的样子

给出的代码:

x=[1:10;3:12;5:14];
imagesc(x);
colorbar;

执行完最初的代码,呈现的是下图这个样子


参考的官方文档:colormap官方文档

这道题考察的是自定义颜色图
做法:需要给出三列数字,这些数字指定颜色,第一列是R,第二列是G,第三列是B。
如图是让显示绿色。

map=[ 0 1 0;0 0.9 0;0 0.6 0; 0 0.5 0; 0 0.4 0;0 0.2 0];
colormap(map);

自己做的图的效果长这样:

附上自己的源代码:

x=[1:10;3:12;5:14];
imagesc(x);
map=[ 0 1 0;0 0.9 0;0 0.6 0;0 0.5 0;0 0.4 0;0 0.2 0];
colormap(map);colorbar;

[总结】
今天这篇文章记录了有关颜色的matlab函数一部分。
fill()填充函数,颜色修改,imagesc()函数,colormap()函数等。

台湾国立大学郭彦甫Matlab教程笔记(12) advanced 2D plot 下相关推荐

  1. 台湾国立大学郭彦甫Matlab教程笔记(10) basic plotting下

    figure adjustment图形调整 1.several properties: font字体 font size 字体大小 line width axis limit tick positio ...

  2. 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)

    台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric) symbolic vs. numeric符号法和数值法的区别对比 symbolic 1)advantages ...

  3. 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分

    台湾国立大学郭彦甫Matlab教程笔记(14) today: polynomial differentiation and integration多项式微分与积分 numerical differen ...

  4. 台湾大学郭彦甫matlab百度云,台湾国立大学郭彦甫Matlab教程笔记(23) linear systems...

    台湾国立大学郭彦甫Matlab教程笔记(23) linear systems linear system线性系统 线性系统和线性方程组实际上是解决的两类不同的问题. 下面一个系统.这个系统 是一个矩阵 ...

  5. 台湾国立大学郭彦甫Matlab教程笔记(23) linear systems

    台湾国立大学郭彦甫Matlab教程笔记(23) linear systems linear system线性系统 线性系统和线性方程组实际上是解决的两类不同的问题. 下面一个系统.这个系统 是一个矩阵 ...

  6. 台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix逆矩阵法)

    台湾国立大学郭彦甫Matlab教程笔记(22) Cramer's method(Inverse matrix) matrix left division左除:\ or mldivide() solvi ...

  7. 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)

    台湾国立大学郭彦甫Matlab教程笔记(21) today: linear equation 线性方程 linear system 线性系统 我们先看第一部分 linear equation 假定一个 ...

  8. 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration

    台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration 数值积分 calculating the numerical value of a definite inte ...

  9. 台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numerical differentiation

    台湾国立大学郭彦甫Matlab教程笔记(16) 数值微分 numeric differentiation 复习:diff()函数用来计算vector前后 entry的差异 数值微分继续 various ...

最新文章

  1. ios wkwebview弹框_iOS WKWebView的javascript alert 不弹的解决方案
  2. 三招看穿ERP软件是否可行
  3. MySQL中如何查询数据(上)
  4. 规模化敏捷框架(SAFe)的原则
  5. 一、前端必须掌握HTML的基础知识
  6. python删掉txt第一列_Python3.5 处理文本txt,删除不需要的行方法
  7. PHP(二)——HTML基础
  8. Codeforces 722C. Destroying Array
  9. CentOS 6.2 安装教程
  10. python画椭圆形_手残党福音:用Python画出机器人Dev
  11. RTL8201网络芯片讲解
  12. 2018-2019-1 20165320 20165325 20165337 实验一 开发环境的熟悉
  13. 码元、波特、速率、带宽
  14. Flask第十八篇 Flask-Migrate
  15. 分布式搜索引擎Elasticsearch的简单使用
  16. Python并行实现XML文件转换为XLSX文件
  17. 【LeetCode】马三来刷题之Valid Anagram
  18. vue项目 - 封装loding组件
  19. 部落冲突-家乡防御建筑-加农炮(1级至20级)
  20. 追梦算法----修路

热门文章

  1. 试试看 ? 离奇古怪的javascript题目
  2. java Locale 解析方法
  3. halcon python_使用pythonnet调用halcon脚本
  4. php nfs,NFS(网络文件系统)服务器简单解析
  5. 【PC工具】Windows10开始菜单增强工具Stardock Start10
  6. 【体验】ESP32-CAM可能是最便宜的“监控”方案,ESP32-CAM程序下载调试
  7. C语言 联合体使用技巧之位带操作
  8. DAMS2019中国数据智能管理峰会将于7月在上海召开!
  9. C#子线程中更新ui
  10. swift SDWebImage 与 UIButton 出现的细节bug 不显示