如何在 MATLAB 中的条形图上叠加单个数据点?
How to overlay single data points on bar graph in 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 on
和 plot
额外的点数
% 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'
或 '.'
作为标记类型将使它成为散点图而不是直线这就是你想要的,除了你可以疯狂使用 sizing/color/linewidth 等,请参阅 documentation.
我正在尝试绘制一个包含 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 on
和 plot
额外的点数
% 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'
或 '.'
作为标记类型将使它成为散点图而不是直线这就是你想要的,除了你可以疯狂使用 sizing/color/linewidth 等,请参阅 documentation.