Matlab进阶绘图第59期—棒棒糖图

​棒棒糖图本质上是柱状图的一种变体。

棒棒糖图通过在每根柱子顶端添加圆点,以表示数据之间的相对位置

此外,一般还会对每根棒棒糖按数值大小进行排序,从而更加方便阅读

本文利用自制的Lollipop工具进行棒棒糖图的绘制,先来看一下成品效果:


1. 数据准备

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

复制代码
% 读取数据load data.mat% 初始化绘图参数y = 1:length(data);x = data;ylabels = p;

2. 颜色定义

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

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

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

复制代码
% 颜色定义C = TheColor('sci',499);C1 = C(1,:);

3. 棒棒糖图绘制

调用'Lollipop'命令,绘制初始棒棒糖图

复制代码
[s,p,idx] = Lollipop(data,70,C1);yl = ylabels(idx);hTitle = title('Bar with Bubble');hXLabel = xlabel('MeanDecreaseAccuracy');hYLabel = ylabel('Product');

然后再添加一些细节修饰,并输出保存:

以上。

相关推荐
茶本无香几秒前
设计模式之三—工厂模式:灵活对象创建的艺术
java·开发语言·设计模式·工厂模式
超级无敌大学霸3 分钟前
c语言整型提升
c语言·开发语言
困惑阿三7 分钟前
利用 Flexbox 实现无需媒体查询(Media Queries)的自动响应式网格。
开发语言·前端·javascript
m0_7482500311 分钟前
C++ 预处理器
开发语言·c++
袁袁袁袁满18 分钟前
Python使用uuid生成唯一密钥uid详细教程
开发语言·python·uuid·唯一密钥uid
Logan Lie18 分钟前
Go 反射(Reflection)详解:从入门到实践
开发语言·后端·golang
爱装代码的小瓶子20 分钟前
【c++进阶】c++11下类的新变化以及Lambda函数和封装器
java·开发语言·c++
m0_7482500325 分钟前
C++ 标准库概述
开发语言·c++
FAFU_kyp26 分钟前
Rust 所有权(Ownership)学习
开发语言·学习·rust
superman超哥32 分钟前
Rust 异步性能的黑盒与透视:Tokio 监控与调优实战
开发语言·后端·rust·编程语言·rust异步性能·rust黑盒与透视·tokio监控与调优