棒棒糖图本质上是柱状图的一种变体。
棒棒糖图通过在每根柱子顶端添加圆点,以表示数据之间的相对位置。
此外,一般还会对每根棒棒糖按数值大小进行排序,从而更加方便阅读。
本文利用自制的Lollipop工具进行棒棒糖图的绘制,先来看一下成品效果:
![](https://img-blog.csdnimg.cn/img_convert/1e627153b9030980d3f2a755669f19f1.png)
1. 数据准备
此部分主要是读取原始数据并初始化绘图参数。
% 读取数据load data.mat% 初始化绘图参数y = 1:length(data);x = data;ylabels = p;
2. 颜色定义
作图不配色就好比做菜不放盐,总让人感觉少些味道。
但颜色搭配比较考验个人审美,需要多加尝试。
这里直接使用TheColor配色工具中的SCI权威配色库:
% 颜色定义C = TheColor('sci',499);C1 = C(1,:);
![](https://img-blog.csdnimg.cn/img_convert/4f8b81ec063bb455f3a6d5e7d1706fc9.png)
3. 棒棒糖图绘制
调用'Lollipop'命令,绘制初始棒棒糖图。
[s,p,idx] = Lollipop(data,70,C1);yl = ylabels(idx);hTitle = title('Bar with Bubble');hXLabel = xlabel('MeanDecreaseAccuracy');hYLabel = ylabel('Product');
![](https://img-blog.csdnimg.cn/img_convert/4acec65ed8bb6cd213b13894dc15106f.png)
然后再添加一些细节修饰,并输出保存:
![](https://img-blog.csdnimg.cn/img_convert/1e627153b9030980d3f2a755669f19f1.png)
以上。