如何在散点图中拥有超过 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
的行为。这里我们同时使用 text
和 plot
来创建独特的标记。
左边是带有数字和点的标记,右边是圆圈和箭头(感谢 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)
文档在散点图中仅指定了 10 种类型的标记: http://uk.mathworks.com/help/matlab/ref/scatter.html
我需要 30 个。我当前的标记类型字符串是:
markers = '+o*.xsd^v<>h';
我不想重复使用相同的标记。输入其他字母等会导致崩溃。字母表中的字母是可接受的标记。有没有办法拥有10种以上的标记?
编辑:我已经在使用颜色来表示其他东西了。
您可以使用 text 在特定位置绘制字母。它的效率会低得多,因为每个点都需要一个新的图形对象。
可以使用几个函数来模拟 scatter
的行为。这里我们同时使用 text
和 plot
来创建独特的标记。
左边是带有数字和点的标记,右边是圆圈和箭头(感谢 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)