Matlab 绘制bar函数的渐变柱形图
时间: 2023-12-09 09:05:23 浏览: 163
matlab 画 bar图
Matlab 中可以使用 `bar` 函数绘制柱形图,而渐变柱形图可以通过设置柱子的颜色映射实现。具体步骤如下:
1. 准备数据,例如以下示例数据:
```matlab
x = 1:5;
y = [10 24 30 15 5];
```
2. 定义颜色映射,可以使用 `colormap` 函数,例如以下示例定义一个从蓝色到红色的颜色映射:
```matlab
cmap = colormap([0 0 1; 1 0 0]);
```
3. 将数据归一化到颜色映射的范围内,可以使用 `normalize` 函数:
```matlab
y_norm = normalize(y, 'range', [1 size(cmap, 1)]);
```
4. 使用 `bar` 函数绘制柱形图,并设置每个柱子的颜色:
```matlab
bar(x, y);
for i = 1:length(x)
color = cmap(y_norm(i), :);
set(findobj(gca,'type','bar','facecolor','flat','xdata',i),'facecolor',color);
end
```
完整代码如下:
```matlab
x = 1:5;
y = [10 24 30 15 5];
cmap = colormap([0 0 1; 1 0 0]);
y_norm = normalize(y, 'range', [1 size(cmap, 1)]);
bar(x, y);
for i = 1:length(x)
color = cmap(y_norm(i), :);
set(findobj(gca,'type','bar','facecolor','flat','xdata',i),'facecolor',color);
end
colorbar;
```
运行后,会得到一个渐变柱形图,如下图所示:
![渐变柱形图](https://img-blog.csdn.net/2018040911054232?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYXJ0aHVyYV9oaW5kZW5fMjAxODA3MTMxODQzNjY=)
阅读全文