棒棒糖图本质上是柱状图的一种变体。
棒棒糖图通过在每根柱子顶端添加圆点,以表示数据之间的相对位置。
此外,一般还会对每根棒棒糖按数值大小进行排序,从而更加方便阅读。
本文利用自制的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');
然后再添加一些细节修饰,并输出保存:
以上。