收藏 分销(赏)

红绿作图imagesc函数说明.docx

上传人:仙人****88 文档编号:11990525 上传时间:2025-08-26 格式:DOCX 页数:5 大小:137.15KB 下载积分:10 金币
下载 相关 举报
红绿作图imagesc函数说明.docx_第1页
第1页 / 共5页
红绿作图imagesc函数说明.docx_第2页
第2页 / 共5页


点击查看更多>>
资源描述
imagesc画两色图,0值为白色 imagesc画图的原理: 1. imagesc(x,y,z),x为x轴的坐标,左小右大,y为y轴的坐标,上小下大,z为坐标点(x,y)对应的值,即z是一个维度为[length(x),length(y)]的矩阵。 axis xy y轴的坐标为上小下大,将其转向成上大下小 2. imagesc(z),x轴的坐标从左到右为1:size(z,2),y轴的坐标从上到下为1:size(z,1) set(gca,’XTicklabel’,x); set(gca,’YTicklabel’,y); 3. 2比1更好:若x中有断点,如:10,12,14,18,20,imagesc(x,y,z)会自动在x轴坐标中添加16,导致x轴坐标点与格子数目不匹配,而2中先做图,再改坐标标签,则可以避免这个问题。 4. colorbar的颜色与z值的对应关系:z的最小值对应colormap矩阵的第一行,对应colorbar颜色条的最下面的颜色;z的最大值对应colormap矩阵的最后一行,对应colorbar颜色条的最上面的颜色;中间的值为线性对应关系。 5. colormap矩阵的原理: [0,1,0]绿色 [a,1,a]浅绿,a越接近0,颜色越深,x越接近1,颜色越浅 [1,1,1]白色 [1,a,a]浅红,a越接近0,颜色越深,x越接近1,颜色越浅 [1,0,0]红色 colormap的格式:第一行为最小值的颜色,最后一行为最大值的颜色 cc=[0,1,0; 0.5,1,0.5; 1,1,1; 1,0.5,0.5; 1,0,0] colormap(cc) 函数及示例: data=[             10                        40                  79502.04                         10                        45                  71288.45                         10                        30                 134527.85                         10                        55                 -30919.16                         10                        50                 -13256.87                         10                        35                 166600.83                         10                        60                -151863.17                         12                        40                  139078.6                         12                        60                  12054.21                         12                        55                   4778.22                         12                        45                 130865.01                         12                        50                  30180.33                         12                        30                 164103.21                         14                        40                 182454.17                         14                        50                  52258.16                         14                        60                -163383.83                         14                        55                -151589.02                         14                        45                 184441.57                         14                        30                 241319.58                         18                        60                -170088.44                         18                        50                 126843.98                         18                        40                 253500.14                         18                        55                  47865.07                         20                        60                  -2874.38                         20                        55                  32803.76                         20                        45                 192548.14                         20                        40                 190560.74                         20                        30                 262927.38                         20                        50                 111782.67                         22                        50                  39181.63                         22                        55                 -39797.28                         22                        60                -166690.08                         22                        45                 118027.18                         22                        35                 227859.65                         22                        40                 133560.48                         22                        30                 205927.12                         24                        30                 215106.42                         24                        55                 -51124.79                         24                        40                 156719.22                         24                        45                 141185.92                         24                        60                -170709.91                         24                        50                  30961.96                         26                        50                  30961.96                         26                        40                 139198.52                         26                        45                 141185.92                         26                        30                 188045.96                         26                        55                 -51124.79                         26                        60                -170709.91                         26                        35                 217838.17                         28                        45                 149411.59                         28                        55                  24946.48                         28                        35                 220303.62                         28                        30                  190511.4                         28                        40                 147424.19                         28                        60                -163146.94                         28                        50                  92225.51                         30                        30                 139031.88                         30                        40                  93964.74                         30                        60                -163500.49                         30                        45                  102492.4                         30                        35                 166844.16                         30                        50                   55865.9                         30                        55                 -48434.02]; redgreendraw(data,'画图'); 保存为函数redgreendraw: %data为源数据,第一列为变量1(参数1),第二列为变量2(参数2),第三列为变量3(指标值:净收益、成功率等) %drawname为图片保存名称,如drawname='我的图片' function result=redgreendraw(data,drawname) x=data(:,1); y=data(:,2); z=data(:,3); %image画图 [xx,yy,zz]=meshgriddata(x,y,z); %用列向量数据构建画图用的矩阵 rgcolor=redgreencolormap(z); %构建红绿色的色图 imagesc(zz) %画图 colormap(rgcolor) %运用红绿色的色图 colorbar %显示出颜色条的示例 set(gca,'XTicklabel',xx); set(gca,'YTicklabel',yy); %axis xy %将纵坐标倒置,即x、y轴的方向变为常用的方向 saveas(gcf,[drawname '.jpg']) result=[drawname '.jpg' '已保存在当前文件夹']; end 保存为函数meshgriddata %x,y,z分别均为1*N的列向量,为了用image画图,需要将z转换为类似meshgrid的结果的矩阵 %横坐标为x中的所有不同取值,纵坐标为y中的所有不同取值 function [xx,yy,zz]=meshgriddata(x,y,z) N=length(x); xy=x*100+y; xx=unique(x); yy=sort(unique(y),'descend'); zz=zeros(length(yy),length(xx)); for i=1:length(yy) for j=1:length(xx) zzz=find(xy==xx(j)*100+yy(i)); if ~isempty(zzz) zz(i,j)=z(zzz); end end end end 保存为函数redgreencolormap %输入值z为需要画图的第三维数据 %函数将根据z的值构造红绿色图,0值为白色;正值为红色,正得越多,颜色越红;负值为绿色,负得越多,颜色越绿 function mycolormap=redgreencolormap(z) N=length(z); mycolormap=ones(N,3); maxz=max(z); minz=min(z); if (minz<0 && maxz>0) %若数据z有正有负,则把负数显示为绿色,负得越多,颜色越绿;正数显示为红色,正得越多,颜色越红 Nneg=round(abs(min(z))/(max(z)-min(z))*N); mycolormap(1:Nneg,1)=(linspace(0,0.999,Nneg))'; mycolormap(1:Nneg,3)=mycolormap(1:Nneg,1); mycolormap((Nneg+1):N,2)=(linspace(0.999,0,N-Nneg))'; mycolormap((Nneg+1):N,3)=mycolormap((Nneg+1):N,2); elseif (minz>=0) %若数据z没有负数,则全部显示为红色,正得越多,颜色越红 mycolormap(:,2)=(linspace(1,0,N))'; mycolormap(:,3)=mycolormap(:,2); elseif (maxz<=0) %若数据z没有正数,则全部显示为绿色,负得越多,颜色越绿 mycolormap(:,1)=(linspace(0,1,N))'; mycolormap(:,3)=mycolormap(:,1); end end
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服