Matlab自定义颜色图

Matlab自定义颜色图介绍Matlab自带颜色图比较单调,很多时候无法达到其它绘图工具,如:NCL、Pythonmatplotlib、GMT等绘图软件颜色图效果。下面就介绍如何将NCL等颜色图为己所用。颜色图下载NCL官网提供了上述绘图工具的颜色图合集,因此只需要将需要的颜色图下载后进行使用即可。选择颜色图WhiteBlueGreenYellowRed下载。Matlab读取下载的颜色表clc;clearall;closeallfiguremesh(peaks)colorbarcolor=n

大家好,又见面了,我是你们的朋友全栈君。

介绍

Matlab自带颜色图比较单调,很多时候无法达到其它绘图工具,如:NCL、Python matplotlib、GMT等绘图软件颜色图效果。下面就介绍如何将上述丰富的颜色图为己所用,以及自定义颜色图。

方法1

颜色图下载

NCL官网提供了上述绘图工具的颜色图合集,因此只需要将需要的颜色图下载后进行使用即可。
在这里插入图片描述
选择颜色图WhiteBlueGreenYellowRed下载。

Matlab读取下载的颜色表

clc; clear all; close all

figure
mesh(peaks)

colorbar
color = ncl_colormap('WhiteBlueGreenYellowRed');
colormap(color)

figure
mesh(peaks)
num = 20;
color2 = color(floor(linspace(1,length(color),num)),:);
colormap(color2)
colorbar
function color = ncl_colormap(colorname)

temp = import_ascii([colorname '.rgb']);
temp(1:2) = [];
temp = split(temp,'#');
temp = temp(:,1);
% color = deblank(color);
temp = strtrim(temp);
temp = regexp(temp, '\s+', 'split');
for i=1:size(temp,1)
    color(i,:) = str2double(temp{ 
   i});    
end
color = color/255;
end
% 成行读取文本数据
% Edited Time:2019-02-22
function ascii = import_ascii(file_name)
i = 1;
fid = fopen(file_name);
while feof(fid) ~= 1
    tline = fgetl(fid);
    ascii{ 
   i,1} = tline; i = i + 1;
end
fclose(fid);
end

效果

在这里插入图片描述
注意:图2为非连续颜色图,刻度和颜色图不对应,需要自己修改。

方法2

改方法需要下载rgbmap函数,以及rgb函数。

h = surf(peaks);
colorbar
rgbmap('white','blue','green','yellow','red')
shading interp
set(h,'edgecolor','k','edgealpha',.2)
caxis([-5 5])
axis tight

在这里插入图片描述

总结

两种方法,第一种方法比较简单,不用花费太多精力在颜色搭配上,就可以获得效果较好的颜色图。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138349.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • android GPS_android地图开发

    android GPS_android地图开发AndroidGPS开发总结

    2022年10月27日
  • jmeter并发测试教程_jmeter进行并发测试教程[通俗易懂]

    jmeter并发测试教程_jmeter进行并发测试教程[通俗易懂]jmeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试,很多用户使用的时候不知道jmeter怎么进行并发测试,接下来就跟小编一起来看看吧,有需要的小伙伴不要错过!jmeter怎么进行并发测试1、打开jmeter.bat文件,添加线程组,编辑线程数,这里设置100个线程数,循环2次,就是一台机器发送100*2=200个请求。2、点击线程组,右击添加→取样器→HTTP请求…

  • cuda编程基础(编程软件有哪些)

    CUDA(ComputeUnifiedDeviceArchitecture),是显卡厂商NVIDIA推出的运算平台。CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

  • python 如何安装numpy库?

    python 如何安装numpy库?我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您!(为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!)首先我们要找到python安装的位置win+R打开进入以后输入:wherepython找到安装目录后,找到Scripts文件夹所在位置:如Programs\Python\Python36\Scripts…

  • 并发、并行、异步、同步、单进程、多进程、多线程…

    并发、并行、异步、同步、单进程、多进程、多线程…

    2021年10月10日
  • 使用JAX-WS构建Web Services

    使用JAX-WS构建Web Services 使用JAX-WS构建WebServicesJAX-WS简写为JavaApiForXmlWebService。JAX-WS是使用XML构建WebService与Client进行交流通信的技术。在JAX-WS中,WebService操作调用表现为以XML为基础的协议如SOAP协议。SOAP定义了封装架构,编码规则以及WebService中调用和回应表现的规则。这些调用和

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号