我有6个数据集,每个数据集包含10000个条目。
我想绘制其CDF进行比较。
在MATLAB中,我使用以下代码:
figure()
ksdensity(dataset1,'Support','positive','Function','cdf',...
'NumPoints',5)
xlabel('Error')
ylabel('CDF')
但是我不确定这是对还是错?我怎样才能做到这一点?
我得到下图。”>
除了图例和标记外,您似乎已获得所需的结果。如果您想更好地控制绘图功能,建议您使用ksdensity
从ksdensity
中获取进行绘图所需的元素,然后分别进行绘图。
[f,xi] = ksdensity(x)
或者,您可以先绘制每个图,
% MATLAB R2019a
% Example Data
X = wblrnd(2,3,10000,1);
Y = wblrnd(3,2,10000,1);
Z = wblrnd(2.5,2.5,10000,1);
Data = [X Y Z];
NumPointCDF = 5; % Number of points to estimate CDF with
figure, hold on
for ii = 1:size(Data,2) % for each column of Data
[fii, xii] = ksdensity(Data(:,ii),'Support','positive','Function','cdf',...
'NumPoints',NumPointsCDF);
p(ii) = plot(xii,fii,'LineWidth',1.1,'Marker','.','MarkerSize',12);
end
legend('X','Y','Z')
,然后稍后使用figure, hold on
for ii = 1:size(Data,2) % for each column of Data
[fii, xii] = ksdensity(Data(:,ii),'Support','positive','Function','cdf',...
'NumPoints',NumPointsCDF);
p(ii) = plot(xii,fii);
end
更改每行的属性(请参见此处)。
例如,一次一次:p(1).foo
或一次全部:
p(1).Marker = 's' % square
参考:1.for ii = 1:size(Data,2)
p(ii).Marker = '.'; % Adjust specific properties of p(ii) as needed
p(ii).LineWidth = 1.2;
end
2. Graphics Object Properties