Bootstrap

Matlab如何利用table数据进行绘图

导读:

Matlab如何通过导入Excel表格的数据进行绘图的教程已经有很多了,而且很详细了,但是如何利用table类型的数据进行绘图的教程却很少,所以这里我就结合我查找的资料以及自己的不断尝试给大家总结一下如何利用table类型的数据进行绘图。

正文

其实table类型的数据进行绘图最重要的一步就是数据的处理,即将不熟悉的数据类型转化为你自己熟悉的数据类型,接下来我将以一个例子来给大家演示下。

这是任务相关介绍
在这里插入图片描述
这是任务要求:
在这里插入图片描述
相关文件:
链接: https://pan.baidu.com/s/1RvjZI18p4Goyb2IRWNL1JA 密码: me06

数据处理
通过执行以下代码后

clc;
code=002594;
tb1=get_hist_data(code,'m')

获得的数据是长这样的
在这里插入图片描述
接下来我们根据题目要求,要提取出第一列、第三列、第四列的数据。

t=tb1{:,1};
x=tb1{:,3};
y=tb1{:,5};

执行完代码后我们就得到了cell类型数据的t、x、y了。

接着我们先来处理时间t,因为要想将日期时间作为横坐标的话,我们需要将其转化为datetime类型的数据

T=datetime(t);

然后再来处理x和y,我们要将其转化为实数,这里由于我只会str2num()函数(将字符转化为数字的),所以我先将x转化为字符型再转化为数字。这里可能会有更简便的方法,欢迎与我一起交流学习。

high_price=str2num(char(x));
low_price=str2num(char(y));

绘图
做完了数据处理后绘图就很简单了,直接上代码。

%绘图
plot(T,high_price);
hold on;
plot(T,low_price);
dateaxis('x',17);
legend('最高成交价','最低成交价');
title('股价信息');

最后的效果图
在这里插入图片描述
是不是很简单呢。

完整代码

clc;
code=002594;
tb1=get_hist_data(code,'m')
t=tb1{:,1};
x=tb1{:,3};
y=tb1{:,5};
%将t(cell)转换为datetime格式
T=datetime(t);
%将x和y转换为int型
high_price=str2num(char(x));
low_price=str2num(char(y));

%绘图
plot(T,high_price);
hold on;
plot(T,low_price);
dateaxis('x',17);
legend('最高成交价','最低成交价');
title('股价信息');

这是matlab处理时间数据绘图相关的文章:
matlab处理时间数据绘图
matlab对日期和时间数据的处理
matlab作时间相关的图

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;