生态遥感的学习笔记MATLAB

使用Matlab画条形图

2020-08-27  本文已影响0人  荔枝猪

得到如下图的条形图

条形图

处理代码

% By Yang,2020/7/30
clear
dz = 'D:\GPP\tem_opt\result\tem_opt_min\raster\tem_opt_f.tif';% 数据地址
tem_opt  = double(importdata(dz));                            % 读取tif文件,并转换为doule类型
tem_opt(tem_opt == -9999) = NaN;                              % 非正常值设为NaN
num(1,1) = numel(find(tem_opt<5));                            % 第一个柱子的数据
num(2,1) = numel(find(tem_opt>=5 & tem_opt<10));
num(3,1) = numel(find(tem_opt>=10 & tem_opt<15));
num(4,1) = numel(find(tem_opt>=15 & tem_opt<20));
num(5,1) = numel(find(tem_opt>=20 & tem_opt<25));
num(6,1) = numel(find(tem_opt>=25 & tem_opt<30));
num(7,1) = numel(find(tem_opt>=30));                          % 第七个柱子的数据
num_all = sum(num);                                           % 非NaN值像元总数
num_p = num/num_all*100;                                      % 每个柱子所占总数的百分比
% 画条形图
pic = bar(num_p,'LineWidth',1.2);                             % LineWidth 线宽
% 设置不同条形柱子的颜色
pic.FaceColor = 'flat';
pic.CData(1,:) = [40/255,146/255,199/255];                    % 普通RGB值除以255,得到的数字就是在MATLAB中颜色的值
pic.CData(2,:) = [129/255,179/255,171/255];
pic.CData(3,:) = [191/255,212/255,138/255];
pic.CData(4,:) = [250/255,250/255,100/255];
pic.CData(5,:) = [252/255,179/255,68/255];
pic.CData(6,:) = [247/255,110/255,42/255];
pic.CData(7,:) = [232/255,21/255,21/255];
hold on
ylabel('Percentage (%)','Fontname', 'Times New Roman','fontsize',24,'FontWeight','bold');   % 设置y轴标签字体
set(gca, 'Fontname', 'Times New Roman','FontSize',16,'FontWeight','bold');                  % 设置刻度字体
set(gca,'tickdir','out');                                                                   % 刻度线向外
set(gca,'xtick',[]);                                                                        % X轴坐标取消
set(gca,'linewidth',1.4);                                                                   % 坐标轴线宽
box off                                                                                     % 取消上右边框

最终效果

效果图
缩小放到空间图里
上一篇下一篇

猜你喜欢

热点阅读