Matlab进阶绘图第27期—水平双向堆叠图

在上一期文章中,分享了Matlab双向堆叠图的绘制方法:

进一步,再来看一下水平双向堆叠图的绘制方法(由于Matlab中未收录水平双向堆叠图的绘制函数,因此需要大家自行设法解决)。

先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式


1. 数据准备

此部分主要是读取原始数据,并初始化绘图参数

复制代码
% 读取数据load data.mat% 初始化绘图参数x = X;y1 = A1;y2 = A2;

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

复制代码
%% 颜色定义C = TheColor('sci',2062,'map',6);% C = flipud(C);

3. 水平双向堆叠图绘制

通过调用两次'barh'命令,绘制初始水平双向堆叠图

复制代码
GO1 = barh(x,y1,0.9,'stacked','EdgeColor','none');GO2 = barh(x,y2,0.9,'stacked','EdgeColor','none');hTitle = title('Stacked Bidirectional barh chart');hXLabel = xlabel('Xaxis');hYLabel = ylabel('Yaxis');

4. 细节优化

为了插图的美观,将初始水平双向堆叠图赋上之前选择的颜色

复制代码
% 赋色for i = 1:6    GO1(i).FaceColor = C(i,1:3);    GO2(i).FaceColor = C(i,1:3);end

进一步,对坐标轴细节等进行一点点美化。

设置完毕后,以期刊所需分辨率、格式输出图片即可:

复制代码
%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

相关推荐
Biomamba生信基地11 分钟前
R语言基础| 下载、安装
开发语言·r语言·生信·医药
姜君竹12 分钟前
QT的工程文件.pro文件
开发语言·c++·qt·系统架构
奇树谦16 分钟前
使用VTK还是OpenGL集成到qt程序里哪个好?
开发语言·qt
VBA633727 分钟前
VBA之Word应用第三章第十节:文档Document对象的方法(三)
开发语言
老胖闲聊36 分钟前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点1 小时前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
贩卖纯净水.1 小时前
浏览器兼容-polyfill-本地服务-优化
开发语言·前端·javascript
k要开心1 小时前
C++概念以及基础框架语法
开发语言·c++
开发者工具分享2 小时前
如何应对敏捷转型中的团队阻力
开发语言
gregmankiw2 小时前
C#调用Rust动态链接库DLL的案例
开发语言·rust·c#