如何将统计数据显示为图表中的文本?

How to display statistics as text in a graph?

我在 matlab 中使用 cdfplot 绘制特定数量的经验 CDF。

[h,stats]=cdfplot(quantity)

现在 stats returns 我的结构具有最小值、最大值、平均值等。我希望这些值在图表中显示为文本。

我有很多类似的图表要绘制,不想手动绘制。

要在绘图上放置文本,您可以使用 text 函数。这是一个快速 example 的情节:

y = evrnd(0,3,100,1);
[h, stats] = cdfplot(y);
hold on
x = -20:0.1:10;
f = evcdf(x,0,3);
plot(x,f,'m')
legend('Empirical','Theoretical','Location','NW')
stat_type =  {'min: ';'max: ';'mean: ';'median: ';'std: '}; % make titles
stat_val = num2str(struct2array(stats).'); % convert stats to string
text(-15,0.7,stat_type) % <-- here
text(-11,0.7,stat_val) % <-- and here
hold off

这将给出:

您可以在循环中使用它来对所有图形执行此操作。

棘手的事情是定义在图形上放置文本的位置。这里我选择 (-15,0.7) 和 (-11,0.7) 作为我知道没有数据的固定点。你应该看看你的情节,并找到正确的地方。