首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Matlab数据可视化教程1-画折线图

说好的写教程,那就开始动手写吧。

今天和大家讲讲折线图在Matlab中如何实现,并且根据自身需要对线条参数,如线段类型、线段宽度、线段颜色等,进行调整。

第一步:生成数据

在一线城市,房价是年轻人普遍关心的问题,那么我这里假设的数据是北京地区商品房交易价格同比变化情况

【同比】:与历史同时期比较,比如2018年5月与2017年5月的比较

%表示注释,Matlab运行中并不会对这部分内容进行计算处理

如果是多行需要注释,可以使用一下注释方式

%{

需要注释的内容

%}

%randn是用来生成服从均值为0,标准差为1的正态分布的随机数

%size是用来计算变量的维度,M行xN列x P维度,这里size(x)会输出两个数1,8代表这是一个1行8列的向量

%linspace是用来生成以一定间距线性变化的数据,这里5是起始竖直,10是终止数值,numel是要生成数值的个数

%numel是用来计算变量元素的个数

这里可以把刚才所有的函数简介放到多行注释内

%{

randn是用来生成服从均值为0,标准差为1的正态分布的随机数

size是用来计算变量的维度,M行xN列xP维度,这里size(x)会输出两个数1,8代表这是一个1行8列的向量

linspace是用来生成以一定间距线性变化的数据,这里5是起始竖直,10是终止数值,numel是要生成数值的个数

numel是用来计算变量中所含元素的个数

%}

第二步:画图

这里先用figure函数画出一个图像框,相当远画布,之后的操作都是在这个画布上操作的,如果不用这个函数先生成画布,当重新用plot画图时,会在前一次所画画布上进行操作并将前一次所画画布覆盖。因此强烈建议每一次画图之前都先用figure函数生成一个空白图像框。

这里plot是进行先画出一个线形图,都是使用Matlab自带的参数,如下图:

第三步:修图

我们要根据自己的需要对参数修改,刚才在plot的时候还返回了一个叫f的变量,这个是图形的句柄,相当于画布中某一次所画内容的名字,我们要对f进行操作,以实现对图形的修饰。

现在来了解一下set中参数的意义

'linestyle'或‘LineStyle'是用来确定线条的形状

'-', 代表实线

'--',代表折虚线

' : ', 代表点虚线

':.', 代表折点虚线

‘color’或'Color'是线条的颜色,可以使用

'y',黄色

'r',红色

'k',黑色

'b',蓝色

'g',绿色

'm',洋红色

'c',青色

'w',白色

也可以使用[R G B]值来指定具体的颜色值,但是每一个值只能介于[0 1]之间,这里的[0.75 0.75 0.75 ]就是浅灰色,如果查到的RGB值是大于1,比如[191 191191],直接除以255就可以把颜色值转为[0 1]之间了,即[191 191 191]/255

‘linewidth'或‘LineWidth'指定了线条的宽度

‘marker'或‘Marker'用于指定点形

标记符 点形

+ 加号

o 圆圈

* 星号

. 实心点

x 叉号

s 正方形

d 钻石形

^ 上三角形

v 下三角形

> 右三角形

p 五角星形

h 六角星形

‘markersize’或‘MarkerSize’用以说明点形的大小

‘markerfacecolor’或’MarkerFaceColor’用来说明点形内部的填充颜色,用法如上文中的‘color’

‘markeredgecolor’或’MakerEdgeColor’用来定义点形外周线的颜色,用法如上文中的‘ color’

当然,你也可以在plot时一次性把这些参数都定义好

接下来就该给图形定义横坐标、纵坐标,还有标题了

这里xlabel和ylabel之后第一个‘ ’内的文本字符是用来说明横坐标和纵坐标的名称;‘fontname’和‘fontsize’是用来指定坐标轴文本的字体名称和字体大小。

title的名称是‘Beijing’,我这里为了避免使用Matlab自带的字体及其大小用latex对字体及其大小进行了规定,\fontname\fontsize

接着我想对整个图形做进一步修饰

‘xlim’和‘ylim’分别说明了横坐标和纵坐标显示的范围

‘xtick’和‘ytick’分别指定了横坐标和纵坐标刻度的范围

‘xticklabel'和‘yticklabel’分别定义了横坐标和纵坐标刻度上显示的具体数值

‘box’,‘off’不显示图像右侧和上方的边框,若为‘on’则显示边框。

最后,如果想在折线图上显示每一个点的具体数值,就用text函数。

为了修饰,我对呈现text的具体坐标做了调整,每一个数据都往左平移0.25,往上平移0.40,由于有小数,看起来会不够美观,又对数据进行了指定小数点位数的约束。

以后的教程中我会给大家介绍怎么样画出误差棒(SD、SE、95% CI),如何呈现多样本时间序列中的误差棒图,即shadowed errorbar,这个在EEG和ERP数据可视化中更为常用。

我把这一次所用的脚本都上传到百度云里,大家感兴趣的可以自行下载。

链接:https://pan.baidu.com/s/1oPokQWLAxPp9CCXxFaaymg 密码:ijwe

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180512G10M5O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券