读取北京碳价格数据并绘图

读取北京碳价格数据并绘图

提取时间范围是15.06.2021-23.06.2021

clc
clear
close all
%读取表
ixt = readtable('icap-graph-data-19-03-2019.csv');
%提取表格变量名序列
ixt_var = ixt.Properties.VariableDescriptions;
%提取表格第一个变量名
ixt_varout1 = ixt_var{1};
%将表达式存入变量中
order1 = sprintf('ixtvar1 =ixt.%s;',ixt_varout1);
%计算表达式
eval([order1]);

%选择列
t = ixt.Beijing;
%处理异常代号
row =  strcmp(t, '#N/A')==1;
t(row)={0};
%去掉前4行
begin_flag = 5;
out = t(begin_flag : end);
o1 = string(out);
%丢失数据处理
row2 = ismissing(o1);
o1(row2) ='0';
%千分位处理
o2 = strrep(o1,',','.');
%字符串转为数据
o2 = double(o2);
o3_flag = o2>0;
o3 = o2(o3_flag);
%规定时间范围
findx1 = find(ixtvar1 =='01.01.2015');
findx2 = find(ixtvar1 == '23.06.2021');
outall = o2(findx1 - begin_flag + 1 : findx2 - begin_flag + 1);
outall_text = ixtvar1(findx1 : findx2);
%绘制图形
figure(1)
plot(outall_text,outall);
xlabel('年份')
ylabel('碳价格/CNY')
ylim([0 max(outall)])
%暂停1秒
pause(1)

%取价格大于0部分
outall2 = outall(outall>0);
outall2_text = outall_text(outall>0);
%绘制图形
figure(1)
plot(outall2_text,outall2);
xlabel('年份')
ylabel('碳价格/CNY')
ylim([0 max(outall2)])
%暂停1秒
pause(1)

%限制时间段
findx1 = find(ixtvar1 =='15.06.2021');
findx2 = find(ixtvar1 == '23.06.2021');
outdata = o2(findx1 - begin_flag + 1 : findx2 - begin_flag + 1);
outdata_text = ixtvar1(findx1 : findx2);
outdata2 = outdata(outdata>0);
outdata2_text = outdata_text(outdata>0);
figure(2);
plot(outdata2_text,outdata2)
xlabel('日期')
ylabel('碳价格/CNY')
ylim([0 max(outdata)]) 

警告: 在为表创建变量名称之前,对文件中的列标题进行了修改,以使其成为有效的 MATLAB 标识符。原始列
标题保存在 VariableDescriptions 属性中。
将 'VariableNamingRule' 设置为 'preserve' 以使用原始列标题作为表变量名称。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值