请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 53272|回复: 35

[程序设计] matlab鼠标取色美化图片

[复制链接]

新浪微博达人勋

发表于 2020-6-24 12:42:37 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 灰色节能君 于 2020-6-24 12:44 编辑

前两天在知乎上看到两篇有意思的文章,整理一下分享给大家。原文章链接:
https://zhuanlan.zhihu.com/p/84632306
https://zhuanlan.zhihu.com/p/86416319
这是关于科研作图颜色选取奇技淫巧,对于颜色选取困难户来说无疑是一大利器。
相信大家都有体会,在画填色图等值线图的时候颜色选取没那么困难,毕竟matlab自带不少colormap,家园里也有不少把NCL中colorbar导出供matlab使用的帖子,再不行还可以用家园调色板导出RGB,总之选择有很多能画出很多漂亮的colorbar。
那么画折线图呢? 一条条折线到底选择什么颜色,才能算是漂亮呢?颜色困难户的我一般简单地参考下面这个图。
颜色.jpg
这样画出的颜色不仅直男而且当你需要很多折线放在同一张图上时就会发现颜色不够用,默认的黄色、青色又太亮十分不美观。当我想要对照RGB选择更多颜色时又觉得特别麻烦,你需要考虑不同颜色放在同一张图上会不会不协调,再加上三原色的数值需要自己手动输入,不满意还得细调,十分耗时耗力。对于柱状图,直方图就更不用说了。
下面这个介绍将解决这个问题。
先在选一张网络图片,风景图啊、明星照啊、自拍啊(我没试过),颜色最好不要太单调。我就用下面这个图做过例子吧。

风景

风景


知乎这篇帖子呢核心方法就是利用取点函数把图片中的颜色快速取下来。

取点.jpg

A = imread('风景.jpg');
imshow(A)
[cy,cx] = getpts;

比如要画5条线,用鼠标选5个颜色,然后按回车就可以。
在画折线图时利用循环:
for i = 1:size(y,1)
    plot(x,y(i,:),'LineWidth',1,'color',COLOR(i,:))
    hold on
end
这样你就不需要,在plot里调color,只需要在图片里用鼠标点点点点就可以了。当然为了避免每次运行程序都出现选点的麻烦,可以把颜色save一下。

折线1.jpg 折线2.jpg


此外还可以用来调整柱状图颜色,这是不是看起来很柔和?

柱状图.jpg

用这个方法还可以快速的获取属于自己的colorbar(左),插值以后让颜色渐变(右)

colorbar5.jpg       colorbar.jpg

又做了一些其他颜色

1.jpg colorbar蓝色.jpg
3.1.jpg 3.2.jpg
4.1.jpg 4.2.jpg

程序比较简单,但是个人感觉很有趣很有用,再次说一下原链接是:
https://zhuanlan.zhihu.com/p/84632306
https://zhuanlan.zhihu.com/p/86416319
我只是向大家介绍一下,让更多人知道,并对原链接的代码进行了整理和修正,之前在家园找把非渐变色标转为渐变色标的代码无果,原链接提供的方法非常简洁,也很值得学习,所有代码如下

游客,如果您要查看本帖隐藏内容请回复


密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2020-6-24 13:39:29 来自手机 | 显示全部楼层
感谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-24 15:06:24 | 显示全部楼层
这个太实用了,感谢分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-24 15:19:46 | 显示全部楼层
我发现getpts在我的matlab用不了,但是还可以替换为ginput来使用。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-24 15:44:02 | 显示全部楼层
颜色超好看!!马一个下次试试,谢谢分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-24 18:42:36 | 显示全部楼层
感谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-25 00:51:18 | 显示全部楼层
很实用,好东西!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-25 13:56:17 | 显示全部楼层
这就方便了 666
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-28 21:47:58 | 显示全部楼层
感谢楼主分享
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-6-29 16:14:02 | 显示全部楼层
来看看
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表