state_x=[0.0585 0.1325 0.1219]; xx=[6,8,10]; figure color_matrix = [1,0.38,0.27;0,0.75,1;255,0,0]; %每个柱子的颜色设置 %一个个添加柱子,用b记录,此时调用b(i)的facecolor就可以用来修改颜色 for i = 1:3 b = bar(xx,state_x,0.5,'stacked'); %0.75是柱形图的宽,可以更改 set(b(i),'facecolor',color_matrix(i,:)) end text(xx(1),state_x(1,1),num2str(state_x(1,1)),'HorizontalAlignment','center','VerticalAlignment','bottom'); text(xx(2),state_x(1,2),num2str(state_x(1,2)),'HorizontalAlignment','center','VerticalAlignment','bottom'); text(xx(3),state_x(1,3),num2str(state_x(1,3)),'HorizontalAlignment','center','VerticalAlignment','bottom'); xticklabels({'无优化','全局优化','分布式集群优化'}); set(gca,'fontsize',12); ylim([0,0.15]); xlabel('','FontSize',15); ylabel('损耗量/MW','FontSize',15);
时间: 2023-08-20 21:47:05 浏览: 73
这段代码使用 MATLAB 绘制了一个堆叠柱状图,其中 x 轴为三种不同的优化方式,y 轴为损耗量(单位为 MW)。具体实现过程如下:
1. 定义了三个状态值 state_x 和对应的 x 坐标 xx;
2. 定义了颜色矩阵 color_matrix,其中每一行代表一种状态的颜色;
3. 循环三次,分别绘制三个柱子,并将其颜色设置为 color_matrix 对应行的颜色;
4. 在每个柱子上方添加了对应的数值;
5. 设置了 x 轴标签和字体大小;
6. 设置了 y 轴范围、标签和字体大小。
需要注意的是,这段代码中的 state_x 和 xx 值是固定的,如果需要绘制不同的数据,需要修改这些值。
阅读全文