老马迷图分享 http://blog.sciencenet.cn/u/zmpenguestc 网络空间做伏枥老马,志在千里育识途小驹!

博文

MATLAB绘图技巧-颜色渐变折线图

已有 4772 次阅读 2024-1-31 16:29 |个人分类:闻图思学|系统分类:科研笔记

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

对于随数据(自变量-x轴)区间的颜色渐变,相对容易实现。如果随着数据(因变量-y轴)值域的颜色渐变,则需要数值构建与颜色查找表(colormap)的对应关系,即寻找一个数值与颜色的映射关系。

以下给出一个实际绘图实例,可以通过加载磁盘数据,也可通过设定仿真数据运行程序。以下代码,可供参考。

clc; clear; close all;

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

% Load data from disk

load plotData.mat;

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

程序运行结果如图B1-1所示,为实际数据分布。

colorGradplots.png

图B1-2 沿X、Y轴颜色渐变的折线图,上:沿X轴变化,下:沿Y轴变化

colorGradplots1.png

图B1-2 仿真数据分布(颜色替换)

另外,通过选用MATLAB提供的colormap,可以得不同的颜色效果。当然,也可以自行定制颜色查找表。

end.jpg

my2dcode.png

长按/扫一扫二维码,敬请关注“闻道研学”

参考来源:

[1]【高级绘图】绘制分段颜色折线图

[2] 让颜色对应数值,MATLAB colormap

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

相关博文: 

[1] MATLAB绘图技巧-折线图绘制

[2] MATLAB绘图技巧-颜色渐变柱状图绘制



https://blog.sciencenet.cn/blog-425437-1420058.html

上一篇:MATLAB绘图技巧-折线图绘制
下一篇:MATLAB绘图技巧-多边形区域填充图
收藏 IP: 202.115.10.*| 热度|

7 郑永军 杨正瓴 刘进平 宁利中 孙颉 张忆文 刘跃

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-21 18:36

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部