How can I create a gradient of 255 line plots?

37 次查看(过去 30 天)
I am plotting many lines on a single plot but too many to manually give each line a specific color. I need to create a gradient of these lines (each line representing a different time point) to show that the lines gradually shift down. I figured out how to create a gray gradient but can't figure out how to create a color gradient. This is the command written for the gray gradient and attached an image of what it looks like. % sheet=1 DataZ=csvread(trimname,sheet) % plotsize=size(DataZ,2) Frequency=DataZ(:,1) %hours Zimpedance=DataZ(:,2:plotsize) LogZ=log10(Zimpedance) contour(LogZ) mesh(LogZ) % get(gca,'ColorOrder') N = plotsize; C = repmat(linspace(1,0.1,N).',1,3); axes('ColorOrder',C,'NextPlot','replacechildren') plot(log10(Frequency),LogZ) title('60C Harr/DI 0V PE') xlabel('Log Frequency (Hz)') ylabel('Log Z (Ohm)')

回答(2 个)

Akira Agata
Akira Agata 2018-11-7
I think the solution would be like this. In this example, like color changes as the y-intercept of the like decrease.
% Gradually shifting lines data
% "plot(Frequency,Data(:,k))" shows k-th line
yIntercept = 10*exp(-0.05*(1:100));
Data = repmat(linspace(2,1)',1,100);
Data = Data + yIntercept;
Frequency = linspace(1,2)';
% Set color vector
c = parula(100);
% Visualize the result
figure
hold on
for kk = 1:100
plot(Frequency,Data(:,kk),'Color',c(kk,:))
end
box on
  3 个评论
Akira Agata
Akira Agata 2018-11-9
Please replace 'Set color vector' section in the above script as follows. In this case, the total number of line is assumed to 100.
% Set color vector
cStart = uisetcolor([1 0.8 0.8],'Select a start color');
cEnd = uisetcolor([0.8 0.0 0],'Select an end color');
c = interp1([1;100],[cStart;cEnd],(1:100)');
AnaelG
AnaelG 2020-3-4
Now is there an elegant way to do that (without a for loop) ? :D

请先登录,再进行评论。


Simon Dengler
Simon Dengler 2022-11-29
I'm using
colororder([jet(44)])
for similar functionality

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

标签

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by