Plot RGB triplets from a matrix as markers 'o'
13 次查看(过去 30 天)
显示 更早的评论
I have a matrix B 6-by-3. I want using a for loop to plot six different coloured markers 'o' in the same figure and in one line (y=0).
Each row has 3 elements of 0 and 1 representing RGB triplet colors.
My code is:
% Define axis limits
x = linspace(0,10,10);
y = linspace(0,10,10);
xlabel('X-axis');
ylabel('Y-axis');
axis([0 10 0 10]);
B =[1 0 0
0 1 0
1 0 1
0 1 1
0 0 1
0 0 1];
for k=1:6
VW = B(k,:);
plot((VW),'o','LineWidth',5);
hold on
end
hold off
I get the following figure with wrong colors

Any help is appreciated.
Thanks a lot.
Stelios Kas.
0 个评论
回答(2 个)
Cris LaPierre
2025-2-7
编辑:Cris LaPierre
2025-2-7
Your plot command is adding 3 points each time. Try this. It specifies a unique x location for each row of C, and colors the marker using the RGB combo for that row. Y=0 for all 6 points.
Note that the order of your commands matters when formatting the appearance of the figure, since calling plot with the syntax you use creates a new axis.
% Define axis limits
C =[1 0 0
0 1 0
1 0 1
0 1 1
0 0 1
0 0 1];
scatter(1:size(C,1),0,[],C,'filled');
xlabel('X-axis');
ylabel('Y-axis');
axis([0 10 0 10]);
3 个评论
Cris LaPierre
2025-2-7
Ah, you are probably using a slighly older version of MATLAB. Here's updated code.
% Define axis limits
C =[1 0 0
0 1 0
1 0 1
0 1 1
0 0 1
0 0 1];
scatter(1:size(C,1),zeros(1,size(C,1)),[],C,'filled');
xlabel('X-axis');
ylabel('Y-axis');
axis([0 10 0 10]);
Fangjun Jiang
2025-2-7
编辑:Fangjun Jiang
2025-2-7
Use 'color' to specify color in plot()
x = linspace(0,10,10);
y = linspace(0,10,10);
xlabel('X-axis');
ylabel('Y-axis');
axis([0 10 0 10]);
B =[1 0 0
0 1 0
1 0 1
0 1 1
0 0 1
0 0 1];
for k=1:6
VW = B(k,:);
plot((VW),'o','LineWidth',5,'color',VW);
hold on
end
hold off
3 个评论
Fangjun Jiang
2025-2-7
Yes. I only provided answer regarding 'color'. Didn't pay attention to what needs to be plotted. Can still use plot() to do it.
axis([0 10 0 10]);
B =[1 0 0
0 1 0
1 0 1
0 1 1
0 0 1
0 0 1];
for k=1:6
VW = B(k,:);
plot(k,0,'o','LineWidth',5,'color',VW);
hold on
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polar Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





