在MATLAB中无线绘制2D点

时间:2016-02-24 16:39:09

标签: matlab matlab-figure

我有一些2D点,我想在MATLAB中绘制它们,以便每个点都有不同的颜色和说明符。我使用了plot函数,但无论你给出什么,它都会创建行。我想将这些点作为离散点绘制。我怎样才能做到这一点?这是我想用最简单的形式实现的(我在下面使用TikZ):

enter image description here

更新 感谢您的意见和解答,我现在有以下代码:

x = [  0.56, 0.4526, -0.4324, 0.2749, -0.2993, 0.3404, 0.1959, 0.3363, -0.1706];
y = [0.1999, 0.3939,  0.1999, 0.4414,  0.2000, 0.3931, 0.1999, 0.3966,  0.4056];

figure
plot(x(1),y(1),'rx')
hold on
plot(x(2),y(2),'*','Color','[0 0.9 0]')
hold on
plot(x(3),y(3),'*','Color','[0 0.5 0]')
hold on
plot(x(4),y(4),'o','Color','[0.47 0.52 0.8]','MarkerFaceColor','[0.47 0.52 0.8]')
hold on
plot(x(5),y(5),'o','Color','[0.05 0.28 0.63]','MarkerFaceColor','[0.05 0.28 0.63]')
hold on
plot(x(6),y(6),'s','Color','[1 0.71 0.30]','MarkerFaceColor','[1 0.71 0.30]')
hold on
plot(x(7),y(7),'s','Color','[0.9 0.32 0]','MarkerFaceColor','[0.9 0.32 0]')
%plot(x(7),y(7),'s','Color','[1 0 0.5]','MarkerFaceColor','[1 0 0.5]')
hold on
plot(x(8),y(8),'d','Color','[0.67 0.28 0.73]','MarkerFaceColor','[0.73 0.40 0.78]')
%plot(x(8),y(8),'d','Color','[0.67 0.28 0.73]','MarkerFaceColor','[0.67 0.28 0.73]')
hold on
plot(x(9),y(9),'d','Color','[0.29 0.08 0.55]','MarkerFaceColor','[0.29 0.08 0.55]')
xlabel('X')
ylabel('Y')
h = legend('(^1X,^1Y)','(^2X_1,^2Y_1)','(^2X_2,^2Y_2)','(^3X_1,^3Y_1)','(^3X_2,^3Y_2)','(^4X_1,^4Y_1)','(^4X_2,^4Y_2)','(^5X_1,^5Y_1)','(^5X_2,^5Y_2)');
set(h,'Location','best')
grid

我现在可以将点绘制为具有不同颜色和说明符的点,尽管这种方式可能不是最佳方式。

enter image description here

1 个答案:

答案 0 :(得分:4)

您只需指定LineSpec选项

即可

http://fr.mathworks.com/help/matlab/ref/plot.html#inputarg_LineSpec

获取你的例子:

plot(xdata, ydata, '.')