MATLAB绘图技巧-颜色渐变折线图
2024-1-31 16:29

MATLAB绘图的美观，除了科研绘图的规范性，用好颜色也可以为作图质量加分。对于多条曲线，主要设定不同类型线条的颜色，单条曲线为单一颜色。有时候只有一条曲线时，我们需要对于不同的数据区间或数据范围设定不同的颜色来加以区分和表示。这就需要设定随数据变化的颜色表达。

clc; clear; close all;

% --------------------

y = data;

% --------------------

% Give data

% n = 100;

% x = linspace(0, 4*pi, n);

% T = pi;  % Period

% A = 5;   % Amplitude

% y = A*sin(2*pi*x/T)+randn(1,n);

% Set Colormap.

N = length(y);

color = hsv(N);

%color = jet(N);

%color = dipCM(76,N); % Custom

colormap(color);

% Plot sample data.

subplot(2,1,1)

for k = 1:N-1

plot(k:k+1, y(k:k+1),'LineWidth',2.4,'Color',color(k,:))

hold on

end

colorbar

caption = sprintf('Line color varies along x-axis.' );

title(caption, 'FontSize', 12);

xlabel('Time'),ylabel('Value')

defualtAxes

% Rescale the data of y-axis

normy = (y - min(y)) ./ (max(y) - min(y));

coloridx = ceil(1+normy*(N-1));

subplot(2,1,2)

for k = 1:N-1

plot(k:k+1, y(k:k+1),'LineWidth',3,'Color',color(coloridx(k),:))

hold on

end

colorbar

caption = sprintf('Line color varies along y-axis.' );

title(caption, 'FontSize', 12);

xlabel('Time'),ylabel('Value')

set(gca,'FontName','Times New Roman','FontSize',12)

defualtAxes

[3] 数据下载：https://pan.baidu.com/s/1qAS1XT-4d3Xm3A1q0XZaug?pwd=74ze  提取码：74ze