How to color individual points on errorbar plot?
44 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I want to color the individual points of this errorbar plot. I tried doing it in the following way but it doesn't work.
means=[1 1 2 3 4];
standarddeviation=[0.1 0.2 0.2 0.3 0.35];
color=['b' 'm' 'b' 'm' 'b'];
errorbar(means, standarddeviation,'.','MarkerEdgeColor', color,'MarkerSize',20),;
I also tried plotting it in a for loop but that doesn't work at all.
means=[1 1 2 3 4];
standarddeviation=[0.1 0.2 0.2 0.3 0.35];
color=['m','m','k','g','r'];
for i = 1:numel(means)
errorbar(means(i), standarddeviation(i),'.'),'MarkerEdgeColor', color(i),;
hold on
end
Can someone help me fix this?
0 件のコメント
採用された回答
Star Strider
2020 年 7 月 3 日
You need to plot with respect to an independent variable.
Try this:
means=[1 1 2 3 4];
standarddeviation=[0.1 0.2 0.2 0.3 0.35];
color=['m','m','k','g','r'];
figure
hold on
for i = 1:numel(means)
errorbar(i, means(i), standarddeviation(i),'.','MarkerEdgeColor', color(i))
end
hold off
xlim([0 6])
I chose the loop index ‘i’ for the independent variable here.
.
3 件のコメント
Nehal Trivedi
2022 年 9 月 27 日
移動済み: Star Strider
2022 年 9 月 28 日
I have generated this plot in Origin Pro. I wanted to generate in similar way.
Star Strider
2022 年 9 月 28 日
移動済み: Star Strider
2022 年 9 月 28 日
The only way I can think of to do that is to plot the line first and then the errorbars (although it is possible to do that in reverse, depending on wwhat you want) —
x = 0:10:90;
y = linspace(1, 9, 10);
err = ones(size(x));
figure
plot(x, y, '-sb', 'MarkerFaceColor','b', 'MarkerEdgeColor','b')
hold on
errorbar(x, y, err, '.r', 'MarkerSize',1);
hold off
grid
axis([-10 100 -1 11])
In order to plot the errorbars without the connecting line, plot them using a marker. Here I chose a red dot, with the dot vanishingly small.
.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Errorbars についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!