精华内容
下载资源
问答
  • matlab中的colorbar用法(显示色阶的颜色栏)

    万次阅读 多人点赞 2018-06-28 13:54:43
    原文matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar...

    原文

     

    matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它所显示出来的颜色。此外,matlab还自带了很多colormap, 如hsv, autumn, bone, colorcube等等。我们直接在命令窗口输入例如"colormap(hsv)" 就可以是平面图的颜色显示相应的colormap。

     

    下面教大家如何自定义自己想要的colormap,方法十分简单。

    以中国海的海面温度图为例:

    matlab如何自定义colorbar

    这是一张有m_pcolor画出来的图,之后colormap是matlab默认的jet(即直接输入命令‘colorbar’显示的colormap)。

    如果我们这是在命令窗口输入‘colormap(hsv)’,则会变成下面这张图:

    matlab如何自定义colorbar

    (请忽视图标题,截图很麻烦,见谅)

    如果我们这是想定义一种新的colormap,颜色从赤,橙,白,蓝,紫依次传递的话(如下图),应该怎么做?

    matlab如何自定义colorbar

    这就要用到matlab的colormap Editor了。

    如下图:点击figrue窗口的Edit-colormap

    matlab如何自定义colorbar

    出现colormap Editor窗口:

    matlab如何自定义colorbar

    我们可以利用这个窗口直接设置自定义colormap。

    colormap Editor中有是一个色标尺,色标尺下方有一些滑块,其中两端的矩形滑块是固定的,不能删除;而中间的矩形+三角形滑块是可以添加,删除,或滑动的。在色标尺低端单击鼠标左键添加,选择某块滑块按Deletei键删除,鼠标按住某个滑块可左右滑动。

    为了达到上述所说的“颜色从赤,橙,白,蓝,紫依次传递”的效果,我们先把中间的两个矩形+三角形滑块删除,如下图:

    matlab如何自定义colorbar

    由于上一张图colormap的两端都是红色,所以中间两块滑块删除后整个colormap只剩下红色一种颜色了。

    我们先从白色添加起,标尺上一共有64个格,为了左右平衡,我们先挑中间两格添加白色,具体步骤为:

    1、点击标尺中间色格的下方,出现滑块(如下图)。

    matlab如何自定义colorbar

    2、双击出现的滑块,出现颜色选择窗口,选择白色(如下图)。

    matlab如何自定义colorbar

    选完后图像就变成下面这样了:

    matlab如何自定义colorbar

    相同的方法选择“赤,橙,蓝,紫”,如下图:

    matlab如何自定义colorbar

    但这时我们发现colormap并不能如我们所愿,因为中间出现了黄色跟绿色。我们注意在colormap Editor中有个Interpolating colorspace选项,由于刚刚我们是以colormap(hsv)为根本的,所以这里的颜色插值方式是hsv的,我们这是应该选择RGB。如下图:

    matlab如何自定义colorbar

    好了,大功告成。

    下面就是要保存自己设置的colormap以便今后画图时可以直接用了。

    在命令传控输入:

    mycolor=colormap;%mycolor名称任意

    save mycolor mycolor;

    下次画图时,只要先load mycolor; 再输入colormap(mycolor) 就可以直接用这个colorbar了。

    还有一种colorbar不是渐变的,如下图:

    matlab如何自定义colorbar

    这种colorbar的设置方式也大同小异。图中colorbar有5中颜色,那么我们就在colormap Editor中将头五种颜色设成图中颜色,再将其余颜色设成白色(不一定白色,其它颜色也可,主要是为了方便辨认)

    matlab如何自定义colorbar

    这是我们在命令窗口中输入“colormap”,就会出现一个64*3的数组。

    matlab如何自定义colorbar

    注意的数组前五行就代表上面5种颜色,其余[1 1 1]代表白色。这是只要把前5行复制出来,写入新数组中。

    matlab如何自定义colorbar

    再“save mycolor5 mycolor1”保存起来。这是在命令窗口输入“colormap(mycolor5)”就出现下图了:

    matlab如何自定义colorbar

    展开全文
  • Colorbar label

    2020-12-01 20:27:38
    <div><p>It would be good to have an option to add labels to the colorbar (i.e. 'intensity'). Or is this option available already and i just didn't find it? <p>Moreover, it would be good ...
  • matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节等) 1.绘制不等间距colorbar

    matlab关于colorbar的整理(绘制不等间距colorbar, colorbar的大小位置调节等


    对matlab关于colorbar的一些小细节进行整理,希望对一些人能够有所帮助~

    1. 绘制不等间距colorbar

    本人常用的方法是将某一区间内的数值全都换成同一个数字,最后绘制替换后的数字。

    (1) 将某一区间的数值换成同一个数字(本人习惯写一个函数),要注意转换后的数字与转换前的不要有重合,否则会把转换前后数字弄混。

    function [R] = Model_to20_unequal_compare(vari,level)
    %此函数进行不等间距前的变量转换
    % vari是要转换的变量,level是目标的不等间距,R是转换后的变量
    R = vari;
        R(find(vari<0.1)) = -200.1; %将R里面小于0.1的全都换成-200.1
        R(find(vari>=0.1&vari<0.28)) = -195.1; %将R里面大于等于0.1,小于0.28的全都换成-195.1
        R(find(vari>=0.28&vari<0.46)) = -190.1;
        R(find(vari>=0.46&vari<0.64)) = -185.1;
        R(find(vari>=0.64&vari<0.82)) = -180.1;
        R(find(vari>=0.82&vari<1)) = -175.1;
        R(find(vari>=1&vari<1.8)) = -170.1;
        R(find(vari>=1.8&vari<2.6)) = -165.1;
        R(find(vari>=2.6&vari<3.4)) = -160.1;
        R(find(vari>=3.4&vari<4.2)) = -155.1;
        R(find(vari>=4.2&vari<5)) = -150.1;
        R(find(vari>=5&vari<6)) = -145.1;
        R(find(vari>=6&vari<7)) = -140.1;
        R(find(vari>=7&vari<8))  = -135.1;
        R(find(vari>=8&vari<9))  = -130.1;
        R(find(vari>=9&vari<10))  = -125.1;
        R(find(vari>=10&vari<11)) = -120.1;
        R(find(vari>=11&vari<12)) = -115.1;
        R(find(vari>=12&vari<13)) = -110.1;
        R(find(vari>=13&vari<14)) = -105.1;
        R(find(vari>=14&vari<15)) = -100.1;
        R(find(vari>=15&vari<16)) = -95.1;
        R(find(vari>=16&vari<17)) = -90.1;
        R(find(vari>=17&vari<18)) = -85.1;
        R(find(vari>=18&vari<19)) = -80.1;
        R(find(vari>=19&vari<20))  = -75.1;
        R(find(vari>=20))  = -70.1;
    end
    

    (2) 绘制R的填色图,即为不等间距填色图

    %------------------------------中国地图-------------------------------------
    infoL=shapeinfo('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4l.shp');%中国省界线文件(含九段线)
    infoP=shapeinfo('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4p.shp');%中国面文件
    ChinaL=shaperead('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4l.shp');
    ChinaP=shaperead('E:\4.Matlab\shp\全国省级、地市级、县市级行政区划shp\全国省级、地市级、县市级行政区划shp\bou2_4p.shp');
    bou2_4lx=[ChinaL(:).X];bou2_4ly=[ChinaL(:).Y];
    bou2_4px=[ChinaP(:).X];bou2_4py=[ChinaP(:).Y];
    
    World = shaperead('E:\4.Matlab\shp\world map china line\world map china line.shp');
    wx = [World(:).X];
    wy = [World(:).Y];
    
    figure(1)
    subplot(1,2,1)
    m_proj('miller','lon',[70,135],'lat',[15,55]);
    m_pcolor(lon,lat,R);%绘制的是转换后的R
    hold on
    shading flat; 
    %中国国界线省界线
    m_plot(bou2_4lx,bou2_4ly,'k','linewidth',1.5);m_plot(wx,wy,'linewidth',1.5,'color',[0.4 0.4 0.4]);
    colormap(CM_bl2ye2re28(1:end-1,:));%自定义的colormap
    %!!!这里的caxis一定要注意,是转换后的max和min
    caxis([-205 -70]);
    m_grid('linestyle','none');
    title('BCC-ESM1_DUSTmean2000-2014','fontsize',15,'interpreter','none');
    %%修改位置
    NN=1;
    H(NN) = subplot(1,2,NN);%第NN张子图
    POS = get(H(NN),'pos');%第NN张子图的当前位置
    POS = POS + [-0.04 -0.037 0.06 0.06];   
    set(H(NN),'pos',POS)%根据新的边界设置
    

    (3) 修改colorbar的刻度

    %自定义colorbar的刻度
    level1 = {'0','0.1',' ',' ',' ',' ','1.0',' ',' ',' ',' ','5.0',' ',' ',' ',' ','10.0',' ',' ',' ',' ','15.0',' ',' ',' ',' ','20.0',' '};
    axes('position',[.16,.09,.68,.55]);
    axis off
    hh = colorbar('horiz');hh.Ticks = [-205:5:-70];hh.TickLabels = level1;caxis([-205 -70]);
    set(get(hh,'title'),'string','\mug/m^{3}','position',[810 -12]);
    

    在这里插入图片描述
    以上就是我熟悉并且我经常用的绘制不等间距colorbar的方法,如果其他小伙伴有更好的方法,欢迎一起讨论交流~

    2. colorbar的大小位置调节

    (1) 绘制横着的colorbar

    hh = colorbar('horiz');
    

    (2) 调节colorbar的大小和位置

    hh = colorbar;hh.Ticks = [0:4:64];hh.TickLabels = level1;caxis([0 64]);
    %调整colorbar的位置(0.16对应左下角的x起点,-0.026对应y起点,0.007对应增加的x长度,0.52对应增加的y长度)
    %0.16和-0.026是对colorbar位置进行调整,0.007和0.52是对colorbar的长宽进行调整
    POS = get(hh,'pos');POS = POS + [0.16 -0.026 0.007 0.52];set(hh,'pos',POS)
    set(get(hh,'title'),'string','\mug/m^{3}');
    

    3. 更改colorbar上的刻度、给colorbar加单位

    (1) 更改colorbar上的刻度

    %0-64是进行不等间距转换后的数值
    %level1是自定义的colorbar刻度
    hh = colorbar;hh.Ticks = [0:4:64];hh.TickLabels = level1;caxis([0 64]);
    

    (2) 给colorbar加单位

    hh = colorbar;
    set(get(hh,'title'),'string','\mug/m^{3}');
    
    展开全文
  • Colorbar issues

    2020-11-29 10:30:37
    <div><p>Image size changes with asymmetric bounds and a colorbar. <pre><code> %%opts Image [colorbar=True] hv.Image(np.random.rand(10,10), bounds=(0,0,2,2)) </code></pre> <p><img alt=...
  • matlab colorbar

    2020-12-23 11:37:36
    画POTF图时利用colorbar: matlab直接用colorbar会让颜色呈蓝黄分布,但大部分文献中的结果都是蓝红分布 解决方案: colorbar, colormap(jet); 调整为jet格式显示颜色即可变成蓝红分布。

    画POTF图时利用colorbar:

    matlab直接用colorbar会让颜色呈蓝黄分布,但大部分文献中的结果都是蓝红分布

    解决方案:

    colorbar, colormap(jet);
    

    调整为jet格式显示颜色即可变成蓝红分布。
    演示图

    展开全文
  • Discrete Colorbar

    2020-12-27 23:59:34
    So my problem is, that Iam not able to create a discrete colorbar (pyplot: spacing='proportional'). I added an image with my current state. Ive got 3 cluster and want to have each in a ...
  • matplotlib colorbar

    2019-09-20 18:11:44
    colorbar(**kwargs) colorbar(mappable, **kwargs) colorbar(mappable, cax=cax, **kwargs) colorbar(mappable, ax=ax, **kwargs) 没有子图的时候可以直接使用plt.colorbar() 有子图的时候,mappable指示一个...
    colorbar(**kwargs)
    colorbar(mappable, **kwargs)
    colorbar(mappable, cax=cax, **kwargs)
    colorbar(mappable, ax=ax, **kwargs)

     

    没有子图的时候可以直接使用plt.colorbar()

    有子图的时候,mappable指示一个用于生成映射颜色的对象。省略的时候默认当前图像。

    ax表示colorbar插入的子图位置

    例子:

    f.colorbar(ax1, ax = axes[int(i/3),i%3])

     

    展开全文
  • IDL 自定义colorbar

    2021-01-08 15:41:44
    IDL在colorbar的基础上自定义颜色 IDL自带的色板很丰富,但并不能满足复杂的需要,当你要将一些特殊的值标记为某个固定的颜色的时候,就要用到本文介绍的方法。 下面是IDL 的一段代码 我的版本是 IDL8.5 PRO color_...
  • MATLAB colorbar

    2019-06-29 16:40:19
    colorbar:显示色阶的颜色栏 colormap:查看并设置当前颜色图 目的 我们用colorbar一般是为了在nnn维平面下标记第1~n+11~n+11~n+1某一个维度的信息。 举例: surf(peaks) colorbar 这里是用colorbar量化了高度...
  • python colorbar

    千次阅读 2019-07-17 22:47:24
    colorbar(mappable, cax=None, ax=None, use_gridspec=True, **kw) method of matplotlib.figure.Figure instance Create a colorbar for a ScalarMappable instance, *mappable*. Documentation for t...
  • qt colorbar控件

    2017-12-18 09:31:09
    qt colorbar控件,通过绘制方式绘制出来。使用的时候提升控件即可
  • Label for colorbar

    2020-12-09 02:13:09
    <div><p>Originally submitted by Joseph Mottram: <p>Could really do with the ability to add a text label for the colorbar</p><p>该提问来源于开源项目:aplpy/aplpy</p></div>
  • colorbar for spectrograms

    2020-11-20 20:21:43
    m not sure if it is just me, but I just had a big struggle with the obspy.imaging.spectrogram script trying to add a colorbar to the figure. I would therefore like to suggest two permanent changes for...
  • matlab文字边框颜色代码TikZ图像颜色条 ...colorbar手动提供您自己的colorbar(您也可以将其添加到colors键,请参见下一节),方法是使用两种元组指定自己的褪色颜色:两个值:值/颜色,其中第一个值必
  • Colorbar tick formatting

    2020-12-27 23:09:00
    - an instance of one of the subclasses of <code>bokeh.models.TickFormatter, which gets passed as is to the colorbar options. <p>this works for the geoplot but I am not sure what your testing ...
  • colorbar fill whole figure

    2020-12-30 14:53:39
    <div><p>I use the matplotlib3.0 and..., the colorbar will fill the whole figure. There is no such issue for matplotlib2.2.2 and basemap1.1. </p><p>该提问来源于开源项目:matplotlib/basemap</p></div>
  • colorbar fix in tutorials

    2020-12-01 16:03:22
    <div><p>Apparently, there are issues with axes divider in matplotlib 3.0.x so a colorbar is being plotted over the plt image instead of next to it. a simple plt.colorbar() is suggested instead to fix ...
  • 参考链接1 这个很nice,对colorbar的调节很到位
  • matlab的colorbar函数

    2019-05-05 23:10:21
    为什么matlab中直接使用colorbar函数时图像旁边没有显示颜色条,还会弹出一些别的程序里用过的图片 直接点击figure窗口的插入颜色栏也会提示错误 cbar = colorbar('peer',cax); 计算 ToggleTool ...
  • MATLAB程序分享MATLAB中colorbar的设置源程序代码-MATLAB中colorbar的设置 源程序代码.rar 程序代码见附件,拿资料请顺便顶个贴~~ 如果下载有问题,请加我 qq 1530497909,给你在线传
  • Add support of colorbar

    2020-12-26 17:13:04
    <div><p>Add <code>add_scale</code> (plotting colorbar) to <code>add_decorate</code>.</p><p>该提问来源于开源项目:pytroll/satpy</p></div>
  • MATLAB自定义colorbar

    万次阅读 2017-10-24 17:23:15
    matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它...
  • colorbar单独画出来,可以方便作图时调整color和图的相对位置 def colorbar(transport_gdf): fig, ax = plt.subplots(figsize=(6, 1)) fig.subplots_adjust(bottom=0.5) norm = mpl.colors.Normalize(vmin=np....
  • python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without any mapple/plot) 自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)...
  • Colorbar bottom & left

    2021-01-01 04:44:39
    <div><p>In <code>colorbar.py, there are <code>Not Fully Implemented</code> warnings for bottom and left colorbars. I think there ought to be an outstanding issue on this topic. , can you say what more...
  • BUG: RadarDisplay colorbar

    2020-12-02 10:39:17
    then the last plot would receive all the colorbars since the axis was not being specified properly in the call to <code>plot_colorbar</code>.</p><p>该提问来源于开源项目:ARM-DOE/pyart</p></div>
  • ColorBar是使用VB.NET编写的渐变彩色进度条控件。
  • fixed colorbar's range

    2020-12-09 05:48:27
    <div><p>I would like to represent different results with the same colorbar range. I mean, I have two sets of data, the first one with values between 0 and 1, the second one between 0 and 0.7. Using ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,245
精华内容 498
关键字:

colorbar