如何用matlab复刻一个scalebar

如何用matlab复刻出文章里一模一样的scalebar?

首先,找到想要的scalebar,例如从文章中截取的scalebar:

然后用识图网站调取每个刻度处的rgb值



在线颜色工具 - PhotoKit.com

得到的rgb输入matlab中,得到一个十一乘3的数组

colorset1=[130 0 0
    230 0 0
    255 38 77
    255 91 180
    231 140 255
    129 190 255
    27 242 255
    0 178 255
    0 76 255
    0 0 228
    0 0 121
    ]/255;

 然后分段线性函数:linspace

colorset=flipud(colorset1);
con1=100;
for j1=1:10
 for i11=1:3
     
     myBlue3(1+(j1-1)*con1:j1*con1,i11)=linspace(colorset(j1,i11),colorset(j1+1,i11),con1);
 end
end
figure(1)
set(gcf,'Position',pictureSize1);
colormap(myBlue3);%DiscoLightClassic   turbo
a=100;
caxis([0, a]);
hBar = colorbar('ticks',(0:20:a));
%Position_Bar = get(hBar, 'Position') ;   % 获取colorbar位置[x,y,width,height],其中,x表示colorbar的左下角与figure左边界的距离占figure宽度的百分比;
                                        % y表示colorbar的左下角与figure下边界的距离占figure高度的百分比;width表示colorbar的宽度占figure宽度的百分比;
                                        % height表示colorbar的高度占figure高度的百分比。
%Position_Bar = Position_Bar + [0.05  0  0  0.3 ]  ;   % 设定colorbar向右移动   
Position_Bar=[0.82  0.2  0.02  0.615 ];
set(hBar, 'Position',Position_Bar) ;% 重置colorbar的位置 
get(hBar, 'Position');
set(gca,'YTickLabels',[]);
set(gca,'XTickLabels',[]);
 set (gca,'FontSize',fontsize);%设置坐标轴字体大小
set (gca,'FontWeight','bold');%加粗
 set(gca,'tickdir','in')%刻度在里面
 box off

得到的myblue3就是需要的scalebar数组

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值