在MATLAB中绘制无线的2D点

matlab matlab-figure

3922 观看

1回复

1769 作者的声誉

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

在此处输入图片说明

更新: 谢谢您的评论和回答,我现在有以下代码:

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

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

在此处输入图片说明

作者: Mehmed 的来源 发布者: 2016 年 2 月 24 日

回应 (1)


4

73 作者的声誉

决定

您只需指定LineSpec选项

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

要获得您的示例:

plot(xdata, ydata, '.')
作者: LorenzoP 发布者: 24.02.2016 04:46
32x32