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');

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

以上。

相关推荐
SomeOtherTime4 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood4 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青5 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T9 小时前
JAVA IO流笔记
开发语言·数据结构·算法
星夜离尘5610 小时前
MATLAB 离散数据分箱:半开区间、末端点与计数、加权和、平均
算法·matlab
Felven11 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪12 小时前
python标准库使用总结
开发语言·python
SomeOtherTime14 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan14 小时前
kotlin常见面试题
开发语言·kotlin·面试题
草莓熊Lotso16 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试