保存直方图而不显示它们,并调整绘制的拟合对象的线宽

时间:2015-05-17 20:39:43

标签: matlab histogram matlab-figure

我有一个直方图,高斯人在matlab中安装。这是我的代码:

dnbins = 100;
[counts,centers] = hist(data(:), nbins);
bar(centers, counts);
fitobject = fit(centers',counts','gauss2');hold on;
plot(fitobject,centers',counts');hold off; 

如何保存输出,但不显示输出?有可能吗?

另外,我想要有一条较粗的红线,所以我更改了以下一行:

plot(fitobject,centers',counts', 'LineWidth', 2.0);hold off;

我收到以下错误:

  

color / linetype参数错误

虽然这段代码效果很好:

plot(centers',counts', 'LineWidth', 2.0);hold off;

当然,它并不能让我满意,因为我也希望看到合适的曲线。

如何更改线条粗细?

编辑:

我收到以下错误:

  This functionality is no longer supported under the -nojvm startup option.

这是有道理的,因为我无法使用图形输出。我编译代码,然后在Linux下运行它。

我该如何解决?

1 个答案:

答案 0 :(得分:2)

第一个问题:您需要'visible'对象的figure属性。

...
fitobject = fit(centers',counts','gauss2'); hold on;
figure('visible','off') 
plot(fitobject ,centers',counts'); hold off; 
...

第二个问题:使用plot函数和fit-objects调用实际上是一个不同的plot (cfit)函数,它是曲线拟合工具箱的一部分。这就是为什么通常的行为不适用的原因。然而,这个小小的解决方法几乎总是有效。

h = plot(fitobject, centers',counts'); hold off;
set(h, 'LineWidth',2)