您可以将其转换为矩阵并直接绘制它:
% Some dummy data - format a little different from your example
% to allow for different numbers of elements per row
A = {[0,0, 1,2, 3,4]; [0,0, 5,6]};
% Figure out how many columns we need in total
maxLen = max(cellfun(@length, A));
% Preallocate
Amat = NaN(size(A, 1), maxLen);
% Copy data
for n = 1:size(A, 1)
curA = A{n};
Amat(n, 1:length(curA)) = curA;
end
% Generate 1:N vector repeated the correct number of times (rows)
x = repmat(1:size(Amat, 2), size(Amat, 1), 1);
plot(x, Amat)
编辑:您在帖子中的某个时间点提到了 3D 图表。上面不会绘制 3D 图,所以这里有一些东西:
% Generate Amat as above
% Then:
[X, Y] = meshgrid(1:size(Amat, 1), 1:size(Amat, 2));
surf(X, Y, Amat.'); % OR: plot3(X, Y, Amat.');
我不确定这正是你想要的,但你的问题有点不清楚你想要什么样的图表。如果您只想在绘图上使用彩色线条,则可以使用plot3
而不是surf
,但恕我直言surf
,此类数据可能会为您提供更清晰的绘图。