在MATLAB中如何在条形图上叠加单个数据点



我正试图用9个数据点的平均值绘制条形图。我想绘制条形图,在条形图上覆盖各个数据点。这是生成条形图的代码。我想用平均值为y的单个数据点覆盖每个条形图。任何关于如何做到这一点的建议都会很有帮助。非常感谢。

x_num = [1:4];
x = categorical({'High PU-High RU','High PU-Low RU', 'Low PU-High RU', 'Low PU-Low RU'});
y = [0.557954545, 0.671394799, 0.543181818, 0.660227273];
figure
bar(x,y,0.4)
title('Economic Performance')
xlabel('Conditions')

您可以只hold onplot附加点

% Generate some data
x = 1:4;
y = rand(9,4);   % note: 4 columns, N rows
ymean = mean(y); % mean of each column for bar
figure();
hold on; % plot multiple things without clearing the axes
bar( x, ymean, 0.4 ); % bar of the means
plot( x, y, 'ok' );   % scatter of the data. 'o' for marker, 'k' for black
hold off

plot样式有很多选项,使用'o''x''.'作为标记类型会使其成为散点,而不是线条,这正是您想要的,除此之外,您可能会对尺寸/颜色/线宽等感到疯狂,请参阅文档。

相关内容

  • 没有找到相关文章

最新更新