当前位置: 首页 > java >正文

【数学建模国奖速成系列】优秀论文绘图复现代码(二)

文章目录

  • 引言
  • 柱状图
  • 横向柱状图
  • 分组柱状图
  • 堆叠柱状图
  • 堆叠柱状图2
  • 三维柱状图
  • 完整复现代码

引言

数模比赛的绘图是非常重要得,这篇文章给大家分享我自己复现的国奖优秀论文的代码,基于Matalab来实现,可以直接运行出图。之前的文章也有分享【折线图】的绘制,这篇文章主要分享【柱状图】。
在这里插入图片描述
在这里插入图片描述

【数学建模美赛速成系列】O奖论文绘图复现代码

柱状图

请添加图片描述

%% 柱状图
clc;clear;close all;
% load('color_list.mat')
% color=color_list(1:6,:);
color=[0.717647058823529,0.682352941176471,0.741176470588235;...0.807843137254902,0.792156862745098,0.890196078431373;0.580392156862745,...0.525490196078431,0.729411764705882;0.392156862745098,0.345098039215686,...0.470588235294118;0.560784313725490,0.533333333333333,0.741176470588235;...0.372549019607843,0.282352941176471,0.600000000000000;0.0156862745098039,...0.0196078431372549,0.0156862745098039];% 颜色数据% color=[0.741176470588235,0.729411764705882,0.725490196078431;0.525490196078431,...
%     0.623529411764706,0.752941176470588;0.631372549019608,0.803921568627451,...
%     0.835294117647059;0.588235294117647,0.576470588235294,0.576470588235294;...
%     0.0745098039215686,0.407843137254902,0.607843137254902;0.454901960784314,...
%     0.737254901960784,0.776470588235294;0.0156862745098039,0.0196078431372549,0.0156862745098039];% 颜色y=[28,34,18,13];%柱状图纵坐标
x=[1,2,3,4];     %柱状图横坐标%%初始化显示位置 [x,y,dx,dy] 从 x,y坐标开始,dx,dy为沿升的长度
figure('Units', 'pixels', ...'Position', [100 100 460 275]);width=0.7; %柱状图宽度 0~1
for  i=1:length(y)%bar(i,y(i),width) width 柱状图宽占比  ,FaceColor 柱状图填充颜色 ,EdgeColor 柱状图边缘颜色% LineWidth  边缘线宽 set(bar(i,y(i),width),'FaceColor',color(i,:),'EdgeColor',color(i+3,:),'LineWidth',2)hold on
end%绘制虚线
ylabel('Time on Warm Floor(%)')xticks([1 2 3 4]);
xticklabels({'objedct1','objedct2','objedct3','objedct4'})
box off
%坐标轴字体和大小
set(gca,"FontName","Times New Roman","FontSize",12,"LineWidth",2)
title("TPT Timecourse","FontName","Times New Roman","FontSize",12,"LineWidth",2);

横向柱状图

在这里插入图片描述

%%  横向柱状图
clc;clear;close all;
% load('color_list.mat')
% color=color_list(1:6,:);
color=[    0.1804    0.7804    0.78820.7137    0.6353    0.87060.3529    0.6941    0.93731.0000    0.7255    0.5020];% 颜色数据y=[28,34,18,13];%柱状图纵坐标
x=[1,2,3,4];     %柱状图横坐标%%初始化显示位置 [x,y,dx,dy] 从 x,y坐标开始,dx,dy为沿升的长度
figure('Units', 'pixels', ...'Position', [100 100 500 305]);width=0.7; %柱状图宽度 0~1
for  i=1:length(y)%bar(i,y(i),width) width 柱状图宽占比  ,FaceColor 柱状图填充颜色 ,EdgeColor 柱状图边缘颜色% LineWidth  边缘线宽 set(barh(i,y(i),width),'FaceColor',color(i,:),'EdgeColor',color(i,:),'LineWidth',2)hold on
end%绘制虚线
xlabel('Time on Warm Floor(%)')yticks([1 2 3 4]);
yticklabels({'objedct1','objedct2','objedct3','objedct4'})box off
%坐标轴字体和大小
set(gca,"FontName","Times New Roman","FontSize",12,"LineWidth",2)title("TPT Timecourse","FontName","Times New Roman","FontSize",12,"LineWidth",2);set(gca,'xgrid','on');

分组柱状图

在这里插入图片描述

%%  分组柱状图
clc;clear;close all;
color=[0.741176470588235,0.729411764705882,0.725490196078431;0.525490196078431,...0.623529411764706,0.752941176470588;0.631372549019608,0.803921568627451,...0.835294117647059;0.588235294117647,0.576470588235294,0.576470588235294;...0.0745098039215686,0.407843137254902,0.607843137254902;0.454901960784314,...0.737254901960784,0.776470588235294;0.0156862745098039,0.0196078431372549,0.0156862745098039];% 颜色1data=[1.5,4,5;18,24,25;6,7,8];
b=bar(data);hold on
erro_data=[1,1,3;6,0.5,1;0.2,0.1,2];ax = gca;
for i = 1 : size(data,2)x_data(:, i) = b(i).XEndPoints'; 
end% for i=1:3
% errorbar(x_data(:,i),data(:,i),erro_data(:,i),'LineStyle', 'none','Color',color(i+3,:) ,'LineWidth', 2,'CapSize',18)
% endax.YLim=[0,30];
for i =1:3
b(i).FaceColor = color(i,:);
b(i).EdgeColor= color(i+3,:);
b(i).LineWidth=1.5;
end
ax.XTickLabels ={'CT', 'WT', 'RWD'};set(gca,"FontName","Times New Roman","FontSize",12,"LineWidth",1.2)% box off
legend('Object1','Object2','Object3')%% 分组柱状图配色2
clc;clear;close all
color=[0.635294117647059,0.168627450980392,0.168627450980392;0.462745098039216,0.121568627450980,0.117647058823529;0,0,0];% 颜色1data=[1.5,4,5;18,24,25;6,7,8];
b=bar(data);
hold on
erro_data=[1,1,3;6,0.5,1;0.2,0.1,2];
ax = gca;for i = 1 : size(data,2)x_data(:, i) = b(i).XEndPoints'; 
end
for i=1:3
errorbar(x_data(:,i),data(:,i),erro_data(:,i),'LineStyle', 'none','Color','k' ,'LineWidth', 2,'CapSize',18)
endax.YLim=[0,30];
for i =1:3
b(i).FaceColor = color(i,:);
b(i).EdgeColor= 'k';
b(i).LineWidth=1.5;
end
legend('data1','data2','data3')
ax.XTickLabels ={'CT', 'WT', 'RWD'};
set(gca,"FontName","Times New Roman","FontSize",14,"LineWidth",2)
box off

堆叠柱状图

在这里插入图片描述

clc;clear;close all;
color=[0.501960784313726,0.670588235294118,0.737254901960784;0.996078431372549,0.827450980392157,0.482352941176471;...0.737254901960784,0.490196078431373,0.709803921568628];
data=[1.5,2.5,1;18,6,1;6,1,1;6,1,1];
erro_data=[1,1,3;6,0.5,1;0.2,0.1,2;0.2,0.1,2];
b=bar(data,0.6,'stacked');
hold on
for i = 1 : size(data,2)x_data(:, i) = b(i).XEndPoints'; 
end
errorbar([],[cumsum(data')]',[],erro_data,'LineStyle', 'none','Color', [0,0,0], 'LineWidth', 1,'CapSize',18)
hold on
ax = gca;
for i =1:3
b(i).FaceColor = color(i,:);
b(i).LineWidth=1;
end
ax.YLim=[0,30];
%x轴范围
% %x轴标签
ax.XTickLabels ={'CT', 'WT', 'RWD','RA'};
ax.YTick = [0,10,20,30];
ax.YTickLabels={'0', '10', '20','30'} ;
%y轴范围
box off
%坐标轴字体和大小
ylabel('index')
set(gca,"FontName","Times New Roman","FontSize",14,"LineWidth",2)
title({'My';'Picture' },"FontName","Times New Roman","FontSize",14,"LineWidth",2);
legend('Ana','Oth','Met')
legend('boxoff') %图例框消失

堆叠柱状图2

在这里插入图片描述

clc;clear;close all;
color=[0.247058823529412,0.305882352941177,0.560784313725490;0.466666666666667,...0.470588235294118,0.682352941176471;0.686274509803922,0.737254901960784,...0.874509803921569;0.858823529411765,0.901960784313726,0.956862745098039];
data=[19.3,31.6,34.4,14.6;43.4,32.7,16.4,7.5;31.5,30.2,25,13.3;37.1,26.2,28,8.3];b=bar(data,0.6,'stacked');
hold on
% % errorbar([],[cumsum(data')]',[],erro_data,'LineStyle', 'none','Color', [0,0,0], 'LineWidth', 1,'CapSize',18)
% hold on
ax = gca;
for i =1:4
b(i).FaceColor = color(i,:);
b(i).EdgeColor= color(i,:);
b(i).LineWidth=1;
end
ax.YLim=[0,100];
%x轴范围
% %x轴标签
ax.XTickLabels ={'White', 'Black', 'Hispanic',' American'};
ax.YTick = [0:20:100];
ax.YTickLabels={'0', '20', '40','60','80','100'} ;
%y轴范围
box off
%坐标轴字体和大小
ylabel('index')
set(gca,"FontName","Times New Roman","FontSize",14,"LineWidth",2)
title({'My';'Picture' },"FontName","Times New Roman","FontSize",14,"LineWidth",2);

三维柱状图

在这里插入图片描述

clc;clear;close all
color=[0.501960784313726,0.670588235294118,0.737254901960784;0.996078431372549,0.827450980392157,0.482352941176471;...0.737254901960784,0.490196078431373,0.709803921568628];
data=[19.3,31.6,34.4,14.6;43.4,32.7,16.4,7.5;31.5,30.2,25,13.3]';
h=bar3(data);
for i=1:3h(1, i).FaceColor=color(i,:);
end
xticklabels({'auto','b','c'})
yticklabels({'b','d','e'})
hold on
title('title')
zlabel('误差')
ax = gca;
set(gca,"FontSize",12,"LineWidth",1.5)
box off
%%
clc;clear;close all
color=[   0.541176470588235   0.694117647058824   0.4862745098039220.909803921568627   0.772549019607843   0.4196078431372550.952941176470588   0.635294117647059   0.388235294117647];data=[19.3,31.6,34.4,14.6;43.4,32.7,16.4,7.5;31.5,30.2,25,13.3]';
h=bar3(data,0.7);
for i=1:3h(1, i).FaceColor=color(i,:);
end
xticklabels({'auto','b','c'})
yticklabels({'b','d','e'})
hold on
title('title')
zlabel('误差')
ax = gca;
set(gca,"FontSize",12,"LineWidth",1.5)
box off

完整复现代码

完整代码的获取请看文章最后~

在这里插入图片描述
在这里插入图片描述

另外国奖复现代码还包括:

  • 折线图
  • 多根折线图
  • 带误差棒的折线图
  • 单个误差带的折线图
  • 多个带误差带的折线图
  • 箱线图
  • 热图
  • 矩阵散点图
  • 三维图
  • 双轴图
http://www.xdnf.cn/news/3189.html

相关文章:

  • DeepSeek V1:初代模型的架构与性能
  • 艺术与科技的双向奔赴——高一鑫荣获加州联合表彰
  • Java ResourceBundle 资源绑定详解
  • 腾讯元宝桌面客户端:基于Tauri的开源技术解析
  • Python GIL 与 pybind11 GIL管理机制
  • 模拟flexible.js 前端开发中的大屏布局方案
  • Hadoop虚拟机中配置hosts
  • 评价类模型数据预处理(定量指标值的无量纲化处理)
  • 从零构建 MCP Server 与 Client:打造你的第一个 AI 工具集成应用
  • 如何禁止AutoCAD这类软件联网
  • Go语言的发展历史 -《Go语言实战指南》
  • Copilot:您的AI伴侣-微软50周年系列更新
  • 《Java高级编程:从原理到实战 - 进阶知识篇一》
  • 【阿里云大模型高级工程师ACP学习笔记】2.7 通过微调增强模型能力 (下篇)(⭐️⭐️⭐️ 重点章节!!!)
  • C#学习第20天:垃圾回收
  • C#规避内存泄漏的编码方法
  • ZStack Cloud 5.3.28正式发布
  • 【蓝桥杯省赛真题59】Scratch收集松果 蓝桥杯scratch图形化编程 中小学生蓝桥杯省赛真题讲解
  • 跨境电商生死劫:IP筛查三法则破解封号魔咒
  • 编译原理实验二:构建TINY语言的词法分析器
  • 【数据链路层】网络通信的“桥梁建设者”
  • 在Carla中构建自动驾驶:使用PID控制和ROS2进行路径跟踪
  • WPF性能优化举例
  • python中库pydantic的作用和基本用法
  • 《ESP32音频开发实战:I2S协议解析与WAV音频录制/播放全指南》
  • 90.如何将Maui应用安装到手机(最简) C#例子 Maui例子
  • 西门子PLC S7-1200电动机软启动、软停止的控制实例
  • Android 移动开发:ProgressBar(转圈进度条)
  • 基于go的简单管理系统(增删改查)
  • Linux基础 -- Generic Netlink 框架详解与开发实践