【MATLAB第11期】#源码分享 |时间序列数据绘图,横坐标更改为时间轴 横坐标轴参数更改 日期间隔设置 日期标签或格式更改

简介: 【MATLAB第11期】#源码分享 |时间序列数据绘图,横坐标更改为时间轴 横坐标轴参数更改 日期间隔设置 日期标签或格式更改

【MATLAB第11期】#源码分享 |时间序列数据绘图,横坐标更改为时间轴 横坐标轴参数更改


绘图问题解决方案


修改前

修改后


1、导入数据方式(识别时间数据)


我们知道xlsread函数无法导入时间数据,会自动删除时间数据

导入时间数据,一般需要学习以下几个函数:


(1)importdata函数

(2)readtable函数

(3)其他方法(如双击EXCEL数据,直接界面导入对应格式数据)


2、案例展示


本次展示的是readtable函数,即把double数据转化为table表格数据。


(1)打开数据

T = readtable('data.xlsx');  %打开data数据


readtable有个缺点是导入的数据标题会系统默认。

进阶学习可以了解detectImportOptions函数,可以人工修改标题。


(2)定义时间和数据


data=table2array(T(:,2));
time=table2array(T(:,1));

需要将table数据转为double数据 ,需要用table2array函数。时间数据自动转化为datetime时间格式


(3)将时间数据转化为数值


x = datenum(time) ;

datenum函数很关键 。一般绘图,横坐标为转化后的数值,纵坐标为对应数据


(4)绘图


datetick('x','yyyy-mm-dd');%  这里可以替换 datetick('x', 20); 

时间格式yyyy-mm-dd自己定义,如年月可以为’yyyy-mm’

加上小时的话 ,可以私下学习一下datetick函数~

  set(gca,'XTick',x(1:1:size(x,1)))

这里是设置横坐标的间隔,可以防止时间太多,横坐标装不下去。 所以可以设置对应间隔,如1:5:N

set(gca,'XTickLabel',datestr(x(1:1:size(x,1)),'yyyy-mm-dd')  )

这里是设置横坐标时间的标签,与上面相同,间隔保持一致。

绘图代码如下:

figure()
  plot(x,data,'-ob','LineWidth',0.5); %
   datetick('x', 'yyyy-mm-dd');%  这里可以替换 datetick('x', 20); 
   set(gca,'XTick',x(1:1:size(x,1)))
   set(gca,'XTickLabel',datestr(x(1:1:size(x,1)),'yyyy-mm-dd')  )
  grid on
axis tight;
 xlabel("日期")
ylabel("值")
title("绘图结果 ")

完整代码

clc,clear;
% importdata
%opts = detectImportOptions('data.xlsx')
%opts.VariableNames=[{ '时间'} ,{'数量'}]
T = readtable('data.xlsx');
data=table2array(T(:,2));
time=table2array(T(:,1));
x = datenum(time) ;
%new_x=x(1):x(end);
figure()
  plot(x,data,'-ob','LineWidth',0.5);
   datetick('x', 'yyyy-mm-dd');
   set(gca,'XTick',x(1:1:size(x,1)))
   set(gca,'XTickLabel',datestr(x(1:1:size(x,1)),'yyyy-mm-dd')  )
  grid on
axis tight;
 xlabel("日期")
ylabel("值")
title("绘图结果 ")



相关文章
|
3月前
|
存储 算法 数据可视化
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
基于 MATLAB的GUI信号处理界面设计 源码+运行截图
108 2
|
4天前
|
资源调度 监控 算法
基于扩频解扩+LDPC编译码的QPSK图传通信系统matlab误码率仿真,扩频参数可设置
该通信系统主要用于高质量图像传输,如无人机、视频监控等场景。系统采用QPSK调制解调、扩频技术和LDPC译码,确保复杂电磁环境下的稳定性和清晰度。MATLAB仿真(2022a)验证了算法效果,核心程序包括信道编码、调制、扩频及解调等步骤,通过AWGN信道测试不同SNR下的性能表现。
29 6
基于扩频解扩+LDPC编译码的QPSK图传通信系统matlab误码率仿真,扩频参数可设置
|
9天前
|
监控 算法 数据安全/隐私保护
基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置
该通信系统基于MATLAB 2022a仿真,适用于高要求的图像传输场景(如无人机、视频监控等),采用64QAM调制解调、扩频技术和Turbo译码提高抗干扰能力。发射端包括图像源、64QAM调制器、扩频器等;接收端则有解扩器、64QAM解调器和Turbo译码器等。核心程序实现图像传输的编码、调制、信道传输及解码,确保图像质量和传输可靠性。
47 16
|
5天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
28天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
15天前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。
|
30天前
|
算法
基于GA遗传算法的PID控制器参数优化matlab建模与仿真
本项目基于遗传算法(GA)优化PID控制器参数,通过空间状态方程构建控制对象,自定义GA的选择、交叉、变异过程,以提高PID控制性能。与使用通用GA工具箱相比,此方法更灵活、针对性强。MATLAB2022A环境下测试,展示了GA优化前后PID控制效果的显著差异。核心代码实现了遗传算法的迭代优化过程,最终通过适应度函数评估并选择了最优PID参数,显著提升了系统响应速度和稳定性。
137 15
|
1月前
|
算法
基于大爆炸优化算法的PID控制器参数寻优matlab仿真
本研究基于大爆炸优化算法对PID控制器参数进行寻优,并通过Matlab仿真对比优化前后PID控制效果。使用MATLAB2022a实现核心程序,展示了算法迭代过程及最优PID参数的求解。大爆炸优化算法通过模拟宇宙大爆炸和大收缩过程,在搜索空间中迭代寻找全局最优解,特别适用于PID参数优化,提升控制系统性能。
|
3月前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。
|
3月前
|
机器学习/深度学习 算法 数据处理
基于最小二乘法的太阳黑子活动模型参数辨识和预测matlab仿真
本项目基于最小二乘法,利用Matlab对太阳黑子活动进行模型参数辨识和预测。通过分析过去288年的观测数据,研究其11年周期规律,实现对太阳黑子活动周期性的准确建模与未来趋势预测。适用于MATLAB2022a版本。

热门文章

最新文章