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

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

以上。

相关推荐
czq_26867194872 小时前
Python打卡第46天
开发语言·python
Evand J4 小时前
【MATLAB例程介绍】(17)永磁同步电机(PMSM)基于自适应无迹卡尔曼滤波(AUKF)的电流噪声在线估计。测量噪声协方差自适应与转速估计对比仿真
开发语言·matlab·卡尔曼滤波·无迹卡尔曼滤波·pmsm·电机滤波
BaiPeter5 小时前
ZPL文件预览
开发语言·c++
噢,我明白了10 小时前
JAVA中的一些基础应用知识点
java·开发语言
时间的拾荒人11 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾12 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
码途行者13 小时前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
旖旎夜光13 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
你看我名字13 小时前
产品参数昨天还对,今天已过期:数眼智能与大模型应用如何做资料版本校验
开发语言·架构
老秦包你会14 小时前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php