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

文章目录

  • 国奖论文绘图复现代码,可直接运行
  • 柱状图
  • 横向柱状图
  • 分组柱状图
  • 堆叠柱状图
  • 堆叠柱状图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.mzph.cn/diannao/81422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLab CVE-2024-12444 安全漏洞解决方案

本文分享极狐GitLab 补丁版本 17.11.1, 17.10.5, 17.9.7 的详细内容。这几个版本包含重要的缺陷和安全修复代码,我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS,技术团队已经进行了升级,无需用户采取任…

随机微分方程(SDE):股票价格模型、利率模型的构建

随机微分方程(SDE):股票价格模型、利率模型的构建 一、随机微分方程(SDE)基础:从确定性到随机性的扩展 1. 定义与一般形式 随机微分方程(SDE)是包含布朗运动(随机项&am…

【MCP Node.js SDK 全栈进阶指南】高级篇(1):MCP多服务器协作架构

随着业务规模的不断扩大和系统复杂度的提升,单一服务器架构往往无法满足高并发、高可用性和弹性扩展的需求。在MCP生态系统中,多服务器协作架构成为构建大规模应用的必然选择。本文将深入探讨MCP TypeScript-SDK在多服务器环境下的部署、协作和管理,以及如何构建高可用、高性…

git 修改用户名和邮箱

在 Git 中修改用户名和邮箱地址是常见的任务,这可以确保你的提交记录使用正确的身份信息。你可以通过简单的命令来完成这一操作。 全局配置 修改全局用户名 要修改全局的用户名,请执行以下命令: git config --global user.name "New…

[算法学习]——通过RMQ与dfs序实现O(1)求LCA(含封装板子)

每周五篇博客:(3/5) 碎碎念 其实不是我想多水一篇博客,本来这篇是欧拉序的博客,结果dfs序也是可以O1求lca的,而且常数更优,结果就变成这样了。。。 前置知识 [算法学习]——dfs序 思想 分…

spark local模式

Spark Local 模式是一种在单台机器上运行 Spark 应用程序的模式,无需搭建分布式集群,适合开发调试、学习以及运行小规模数据处理任务。以下为你详细介绍该模式: 特点 简易性:无需额外配置分布式集群,在单机上就能快速…

用 RxSwift 实现 UITableView 的响应式绑定(超实用示例)

目录 前言 一、环境准备 1.安装 RxSwift 和 RxCocoa 2.导入模块 二、实现一个简单的UITableView 1.实现一个简单的 UITableView 1.实现步骤 1.我们声明一个ViewModel 2.ViewModel和UITableView 绑定 2.实现 UITableView 的代理方法 三、处理点击事件 前言 在 iOS 开发…

【C++】通过红黑树封装map和set

前言: 通过之前的学习,我们已经学会了红黑树和map、set。这次我们要实现自己的map和set,对,使用红黑树进行封装! 当然,红黑树内容这里就不在赘述,我们会复用红黑树的代码,所以先将…

非凸科技受邀出席AI SPARK活动,共探生成式AI驱动金融新生态

4月19日,由AI SPARK社区主办的“生成式AI创新与应用构建”主题沙龙在北京举行。活动聚焦生成式AI的技术突破与产业融合,围绕大模型优化、多模态应用、存内计算等前沿议题展开深度探讨。非凸科技受邀出席并发表主题演讲,深入解析金融垂直大模型…

【Java IO流】IO流详解

参考笔记:【Java基础-3】吃透Java IO:字节流、字符流、缓冲流_javaio-CSDN博客 目录 1.IO流简介 1.1 什么是IO流? 1.2 IO流的分类 1.3 字符流和字节流的其他区别 1.4 Java IO流体系图 2.字符编码详解 3. Java的char类型与 Unicode、U…

驱动开发系列56 - Linux Graphics QXL显卡驱动代码分析(三)显示模式设置

一:概述 如之前介绍,在qxl_pci_probe 中会调用 qxl_modeset_init 来初始化屏幕分辨率和刷新率,本文详细看下 qxl_modeset_init 的实现过程。即QXL设备的显示模式设置,是如何配置CRTC,Encoder,Connector 的以及创建和更新帧缓冲区的。 二:qxl_modeset_init 分析 in…

Vue3开发常见性能问题知多少

文章目录 1 常见性能优化瓶颈及原因1.1 响应式数据的过度使用1.2 虚拟 DOM 的频繁更新1.3 组件渲染的冗余1.4 大列表渲染的性能问题1.5 计算属性和侦听器的滥用1.6 事件处理函数的频繁绑定1.7 异步组件的加载性能2 解决方案与优化技巧2.1 合理使用响应式数据2.2 优化虚拟 DOM 更…

Rust Ubuntu下编译生成环境win程序踩坑指南

前言: 1,公司要给一线搞一个升级程序,需要在win下跑。 之前都是找开发总监帮忙,但是他最近比较忙。就让我自己搞。有了下文.。说来惭愧,之前写过一篇ubuntu下编译windows的文章。里面的demo就一句话 fuck world。依赖…

openharmony 4.1 运行busybox工具包(保姆教程)

1.下载 链接:Index of /downloads/binaries 进入其中后,找到 挑选适合你系统架构的版本,例如我这边是 https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-armv7r 右键复制链接 打开迅雷,直接粘…

算法四 习题 1.3

数组实现栈 #include <iostream> #include <vector> #include <stdexcept> using namespace std;class MyStack { private:vector<int> data; // 用于存储栈元素的数组public:// 构造函数MyStack() {}// 入栈操作void push(int val) {data.push_back…

GD32F407单片机开发入门(十七)内部RTC实时时钟及实战含源码

文章目录 一.概要二.RTC基本特点三.GD32单片机RTC内部结构图四.配置一个RTC走秒例程五.工程源代码下载六.小结 一.概要 RTC&#xff08;Real-Time Clock&#xff09;是一种用于追踪和记录实际时间的时钟系统。RTC模块提供了一个包含日期&#xff08;年/月/日&#xff09;和时间…

新能源汽车运动控制器核心芯片选型与优化:MCU、DCDC与CANFD协同设计

摘要&#xff1a;随着新能源汽车产业的迅猛发展&#xff0c;汽车运动控制器的性能和可靠性面临着更高的要求。本文深入探讨了新能源汽车运动控制器中MCU&#xff08;微控制单元&#xff09;、DCDC电源管理芯片和CANFD总线通信芯片的选型要点、优化策略及其协同设计方案。通过综…

2.maven 手动安装 jar包

1.背景 有的时候&#xff0c;maven仓库无法下载&#xff0c;可以手动安装。本文以pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar为例。 2.预先准备 下载文件到本地指定位置。 2.1.安装pom mvn install:install-file \-Dfile/home/wind/tmp/pentaho-aggdesigner-5.1.5-jh…

OpenCV 图形API(75)图像与通道拼接函数-----将 4 个单通道图像矩阵 (GMat) 合并为一个 4 通道的多通道图像矩阵函数merge4()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 由4个单通道矩阵创建一个4通道矩阵。 该函数将多个矩阵合并为一个单一的多通道矩阵。也就是说&#xff0c;输出矩阵的每一个元素都是输入矩阵对…

AI日报 · 2025年05月02日 | 再见GPT-4!OpenAI CEO 确认 GPT-4 已从 ChatGPT 界面正式移除

1、OpenAI CEO 确认 GPT-4 已从 ChatGPT 界面正式移除 在处理 GPT-4o 更新问题的同时&#xff0c;OpenAI CEO Sam Altman 于 5 月 1 日在 X 平台发文&#xff0c;正式确认初代 GPT-4 模型已从 ChatGPT 主用户界面中移除。此举遵循了 OpenAI 此前公布的计划&#xff0c;即在 4 …