Matlab论文插图绘制模板第28期—柱状图(带误差棒errorbar)
在之前的文章中,分享了Matlab柱状图的绘制模板:
折线图的绘制模板:
散点图的绘制模板:
在实际应用时,很多时候需要在以上内容基础上添加误差棒。
所以,这次来分享一下带误差棒的柱状图的绘制模板,算是给柱状图打个补丁。
或者,从另一个角度说,其实也可以叫误差棒(柱状图)的绘制模板,只不过误差棒基本不独立出现。
先来看一下成品效果:
特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取数据,定义自变量和因变量。
% 读取数据
% 自变量
x = 1:5;
% 因变量
% dataset为5*3的矩阵,一行3个为一组,共5组
dataset = [0.241,0.393,0.294;
0.219,0.254,0.238;
0.238,0.262,0.272;
0.198,0.329,0.287;
0.201,0.197,0.185];
% 误差矩阵
AVG = dataset/5; % 下方长度
STD = dataset/7; % 上方长度
2. 颜色定义
颜色搭配比较考验个人审美,需要多加尝试。
这里用之前分享的colorplus工具:
%% 颜色定义
C1 = colorplus(239);
C2 = colorplus(374);
C3 = colorplus(357);
3. 带误差棒的柱状图绘制
首先使用‘bar’命令,绘制初始柱状图,然后使用‘errorbar’命令,绘制每一根柱子的误差棒。
% 绘制初始柱状图
GO = bar(x,dataset,1,'EdgeColor','k');
% 添加误差棒
[M,N] = size(dataset);
xpos = zeros(M,N);
for i = 1:N
xpos(:,i) = GO(1,i).XEndPoints'; % v2019b
end
hE = errorbar(xpos, dataset, AVG, STD);
值得一提的是,模板中使用的XendPoints,可以给出柱状图每根柱子顶点的横坐标,但需要2019b以上的版本。如果不是,则需要自己定义误差棒中心的位置。
4. 细节优化
为了插图的美观,首先将柱状图赋上之前选好的颜色,然后调整误差棒的属性:
% 柱状图赋色
GO(1).FaceColor = C1;
GO(2).FaceColor = C2;
GO(3).FaceColor = C3;
% 误差棒属性
set(hE, 'LineStyle', 'none', 'Color', 'k','LineWidth', 1.2)
进一步,对坐标轴参数、字体字号等进行调整:
% 坐标区调整
set(gca, 'Box', 'off', ... % 边框
'XGrid', 'off', 'YGrid', 'on', ... % 网格
'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor',[.1 .1 .1],... % 坐标轴颜色
'YTick', 0:0.1:1,... % 刻度位置、间隔
'Ylim' , [0 0.5], ... % 坐标轴范围
'Xticklabel',{'samp1' 'samp2' 'samp3' 'samp4' 'samp5'},...% X坐标轴刻度标签
'Yticklabel',{[0:0.1:1]}) % Y坐标轴刻度标签
% Legend 设置
hLegend = legend([GO(1),GO(2),GO(3)], ...
'A', 'B', 'C', ...
'Location', 'northeast');
% Legend位置微调
P = hLegend.Position;
hLegend.Position = P + [0.015 0.03 0 0];
% 字体和字号
set(gca, 'FontName', 'Helvetica')
set([hXLabel, hYLabel], 'FontName','AvantGarde')
set(gca, 'FontSize', 10)
set([hXLabel, hYLabel], 'FontSize', 11)
set(hTitle, 'FontSize', 11, 'FontWeight' ,'bold')
% 背景颜色
set(gcf,'Color',[1 1 1])
设置完毕后,按照所需分辨率、格式输出图片。
%% 图片输出
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figWfigH]);
fileout = 'test';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');
以上。
完整代码:
带误差棒的柱状图
Matlab论文插图绘制模板第28期—柱状图(带误差棒errorbar)相关推荐
- Matlab论文插图绘制模板第28期—折线图进阶
在之前的文章中,分享了Matlab折线图的绘制模板: 散点图的绘制模板: 也介绍了误差棒的使用方式: 这一次,我们尝试在折线图的基础上,加入更多的元素,比如线型.符号类型.公式,并在此基础上添加误差棒 ...
- Matlab论文插图绘制模板第24期—柱状图(多组堆叠)
在之前的文章中,分享了一个Matlab柱状图的绘制模板: 以及一些特殊形式的柱状图: 昨天有朋友问我,类似下面这种多组堆叠图应该怎么画. 我告诉她,之前有类似的教程,稍微举一反三一下,不难画. 但回头 ...
- Matlab论文插图绘制模板第61期—横向多组堆叠图
之前有分享过一个Matlab多组堆叠图的绘制模板: 最近有朋友私信我,想让我出一个横向的多组堆叠图. 所以,这次就再出一期横向多组堆叠图的教程. 先来看一下成品效果: 特别提示:Matlab论文插图绘 ...
- Matlab论文插图绘制模板第69期—带误差棒的折线图(Errorbar)
在之前的文章中,分享了一系列Matlab折线图的绘制模板: 这一次,再来分享一种特殊的折线图:带误差棒的折线图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Ma ...
- Matlab论文插图绘制模板第50期—分簇散点图(Swarmchart)
在之前的文章中,分享了很多Matlab散点图的绘制模板: 这一次,再来分享一种特殊的散点图:分簇散点图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab ...
- Matlab论文插图绘制模板第78期—进阶词云图
词云图一般由词汇.颜色.大小三种元素构成,其中颜色主要用于区分不同的词汇,而字体的大小可以直观地展示词汇数值的大小. 在之前的文章中,分享过一个简单的Matlab词云图绘制模板. 那么,我们进一步看一 ...
- Matlab论文插图绘制模板第33期—等高线填充图(contourf)
在上一期文章中,分享了Matlab等高线图的绘制模板: 进一步,再来分享一下等高线填充图的绘制模板. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行 ...
- Matlab论文插图绘制模板第39期—阶梯图(Stairs)
在之前的文章中,分享了Matlab折线图的绘制模板: 三维折线图的绘制模板: 以及一些特殊的线图: 这次再来分享一种线图:阶梯图. 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨 ...
- Matlab论文插图绘制模板第32期—等高线图(contour)
开门见山: 等高线(contour)图怎么画? 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到 ...
最新文章
- go语言中fmt包中Print、Printf、Println输出相关函数的区别
- 各种的jsp数据库连接方法代码!(以前收集的)
- layer output 激活函数_深入理解YOLO v3实现细节 - 第3篇 构建v3的Loss_layer
- 查找Linux中内存和CPU使用率最高的进程
- Webstorm 10.0.4 配置
- mysql日志种类、二进制日志模式、mysqlbinlog解析二进制日志
- java去掉图片边框颜色_sharp 去除图片边框
- NBear.Mapping使用教程(5):实体对象与NameValueCollection,Dicitonary以及NBear.Mapping性能
- vue中watch的用法总结以及报错处理Error in callback for watcher checkList
- hbase 使用disruptor_一条数据的HBase之旅,简明HBase入门教程-Write全流程
- Oracle 取某100天的每一天的日期
- 解决ueditor中没法动态配置imageurlprefix的方法
- 英文文档: 如何使用 OpenSSL 创建与吊销数字证书
- kibana4 分析和搜索仪表板 安装和配置
- 讨论:寺庙和尚义工不宜说感谢,可以祝福
- 微积分中BW定理指的是什么
- Civil3D绘制路线
- 软件测试缺陷报告分析,测试报告中的缺陷分析和测试结论应该怎么写?
- 3串锂电池充电保护板设计
- 获取本地视频url的方法
热门文章
- matlab中contour 函数的用法(绘制等高线)
- Hive数据仓库中历史拉链表实践
- 零预算引爆个人和企业品牌
- iOS 开发者必不可少的 75 个工具,你都会了吗
- bmob 快速搭建后台
- IIS Express配置使通过IP访问
- Android面试你必须要知道的那些知识,已拿offer附真题解析
- AI基础原理篇(一)
- Windows10+YOLOV3+VisualStudio2017最新版本超详细过程
- 处理BigDecimal字段, java.math.BigDecimal cannot be cast to [Ljava.lang.Object;