前言
不是我疯了,就是世界疯了。我不知道究竟是哪一个疯了。瓶口和瓶盖尺寸不符。也许该怪瓶子,也许该怪盖子。但不管怎样,尺寸不符的事实不容动摇——《1Q84》
\;\;\;\;\;\;
有十几二十个导出的曲线数据,其中第一列是频率点,大约1001个,第二列是某种数据,都在0~1之间。
如果用绘制曲线图的话,频率为自变量,某种数据做因变量;但是有时我需要的是把0~1之间的数据作为图上的颜色,用别的什么做因变量……
\;\\\;\\\;
目录
- 前言
- Origin等高图
- Matlab等高图
Origin等高图
matlab画的线有个问题,先把正确的方法介绍一下:
打开origin,建立项目,第一列是自变量,后面N列都会对应待绘图上的颜色,因变量就是列上的XX(自定义)
选中所有数据(不带空列),点击绘图上的等高线,然后选中Y值在列标签,选中列标签如下
然后双击颜色图隐藏线条,点击线,按下图操作:
接着就是修改标签、刻度了
\;\\\;\\\;
Matlab等高图
文件数就是因变量数有十几二十个,但是自变量(频率点)有几百了,所以作图步骤:
- 读取文件夹内的.txt文件
- 按照文件名的数字进行排序
- 排序后进行读取文件内容
- 按照范围读取
- 之后存入二维数组后,还需要转置什么的吧(好久之前的了,忘了)反正就是当点为颜色,这样一个小矩阵生成的图肯定特别小,所以需要在两个点之间插入多个点,把图片撑大。中间的点依靠拟合的函数生成。
%{
date: 2023-7-18 周二自变量为频率,因变量为某个结构参数,比如P:150,160,170,180,190
每个点的颜色就是透射系数,设置1-0为红黑,则越接近1颜色越红越亮,越接近0颜色越黑越暗纵向的颜色条表示平移,颜色条越弯,平移越大;往左弯就是红移,往右弯就是蓝移!由于不需要精确计算频点位置,所以不需要flag状态了,就从scan_begin到scan_end就行
%}
clear; %清空工作区
clc; %清空命令行窗口
format long; %设置精度%设置频率范围
scan_begin = 1.3; %就从这开始
scan_end = 2.05; %就在这结束;不能是2.05,那样的话频点6(1.99)就靠近边界了%文件夹
folder='.\XXX-ramp\';
%显示文件夹下所有符合后缀名为.txt文件的完整信息
%提取符合后缀名为.txt的所有文件的文件名,转换为n行1列
%按前缀提取文件
NAMES={dir([folder,'h=*.txt']).name}; %q,可修改
%排序,使得10不在2前面
NAMES=sort_nat(NAMES);
%文件数,因为后面经常用,所以先算了
files_num = length(NAMES);%读取其中的数字,组成数组'因变量'
raw_Y=zeros(1,files_num);
reg_num='\d+\.\d+'; %浮点数,利用正则表达式提取数字(特殊符号加backslash) ; 比如g1=8.5.txt,要提出后面的8.5
for i=1:files_numdateStr=regexp(NAMES{i}