如何在散点图中拥有超过 10 种标记类型?

How can I have more than 10 marker types in a scatter plot?

文档在散点图中仅指定了 10 种类型的标记: http://uk.mathworks.com/help/matlab/ref/scatter.html

我需要 30 个。我当前的标记类型字符串是:

markers = '+o*.xsd^v<>h';

我不想重复使用相同的标记。输入其他字母等会导致崩溃。字母表中的字母是可接受的标记。有没有办法拥有10种以上的标记?

编辑:我已经在使用颜色来表示其他东西了。

您可以使用 text 在特定位置绘制字母。它的效率会低得多,因为每个点都需要一个新的图形对象。

可以使用几个函数来模拟 scatter 的行为。这里我们同时使用 textplot 来创建独特的标记。

左边是带有数字和点的标记,右边是圆圈和箭头(感谢 unicode)。

计算:

N = 50;
x = rand(N,1);
y = rand(N,1);

%numbers in text
txt1 = cellstr(num2str((11:11+N-1)'));

%unicode text
Nstart = 8592; %arrows 
txt2 = cellstr(char(Nstart:Nstart+N-1)');

figure;
subplot(1,2,1);
h = text(x, y, txt1, ...
    'FontName', 'Courier New', 'FontSize', 18, ...
    'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');

hold on;
plot(x, y, 'r.', 'MarkerSize', 10)

subplot(1,2,2);
h = text(x, y, txt2, ...
    'FontSize', 20, ...
    'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');

hold on;
plot(x, y, 'o', 'MarkerSize', 22)