更改Matlab图形的图例

时间:2018-11-08 10:57:09

标签: matlab

我想更改在Matlab中生成的以下图片的图例样式:

Public class Form2

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

    ... {some code here}

    Form1.Refresh()
    Me.Close()

    End Sub
End Class

enter image description here

如您所见,图例显示一个蓝色矩形。我想要的是一个填充的蓝色圆圈,代替矩形,就像图片是作为散点图生成的一样。。我该如何获取?

2 个答案:

答案 0 :(得分:3)

我建议用hold on; p = plot(NaN, NaN, 'b.', 'MarkerSize', 15);添加一个虚拟值,然后用legend(p, 'A');

来说明这个特定的“假”图。
x1=-5;
x2=5;
y1=-5;
y2=5;
x = [x1, x2, x2, x1, x1];
y = [y1, y1, y2, y2, y1];
fill(x,y,'b');
hold on; p = plot(NaN, NaN, 'b.', 'MarkerSize', 15);
legend(p, 'A')

fill and legend

答案 1 :(得分:3)

@Bebs有一个很好的解决方案。

另一个建议是直接更改图例图标:

[a,b] = legend('A');
b(2).Xdata = sin(-pi:0.1:pi)/10+0.4;   % you can play with numbers to set size and location of circle
b(2).Ydata = cos(-pi:0.1:pi)/5+0.5;

现在您可以设置其他一些属性:

b(2).LineWidth = 1;         % thicker line
b(2).FaceColor = [1 1 1];   % white fill
b(2).EdgeColor = [0 0 1];   % blue edge

enter image description here