如何用matlab画这种真实值与预测值概率密度估计图呀~求帮助啊!这种图在matlab中怎么得到
你好,可以定义一个函数:
function h = scatter_kde(x, y, varargin)
c = ksdensity([x,y], [x,y]);
if nargin > 2
% Set Marker Size
i = find(strcmp(varargin, 'MarkerSize'),1);
if ~isempty(i); MarkerSize = varargin{i+1}; varargin(i:i+1) = [];
else
MarkerSize = [];
end
% Plot scatter plot
h = scatter(x, y, MarkerSize, c, varargin{:});
else
h = scatter(x, y, [], c);
end
colorbar
end
然后设置两列x、y,调用画图即可
x = linspace(0,10,1000)';
y = randn(1000,1)*0.5+x;
scatter_kde(x, y, 'filled', 'MarkerSize', 5);
hold on
p = polyfit(x,y,1);
fplot(@(x)polyval(p,x),[0, max(x)],'k')
R = corrcoef(x,y);
xlabel('x');ylabel('y')
legend (['y=',poly2str(p,'x')],['R^2 = ',num2str(R(1,2)^2)])
效果: