Matlab中如何修改binscatter散点图的自定义单一颜色?
嘿,刚好我之前也折腾过binscatter的颜色设置!要改成单一的自定义颜色其实很简单,给你两种实用的方法:
方法1:绘制时直接指定颜色
binscatter函数本身支持直接传入颜色参数,不用事后再调colormap。你可以用'Color'属性(或者缩写'C'),直接指定你想要的颜色:
- 用RGB三元组(每个值在0到1之间):比如要偏蓝的色调,就这么写
binscatter(x, y, 'Color', [0, 0.447, 0.741]); - 用内置颜色名称:比如深灰、橙红这类,直接写名称就行
binscatter(x, y, 'Color', 'darkred'); - 用十六进制颜色码:精准控制颜色的话,用这种方式最方便
binscatter(x, y, 'Color', '#2ECC71'); % 清新的薄荷绿
方法2:绘制完成后修改颜色
如果已经画好图了,不想重新跑一遍binscatter,也可以直接获取图形对象来改:
% 先把binscatter的对象存下来(如果之前没存的话,就用findobj找) h = findobj(gca, 'Type', 'Scatter'); % 然后直接修改Color属性 h.Color = [0.8, 0.1, 0.1]; % 自定义的暗红色
顺便提一句:binscatter本质上是生成的散点图对象,所以它的颜色设置逻辑和scatter()函数完全一致,你平时给scatter改颜色的方法,套过来就行~
内容的提问来源于stack exchange,提问作者david r
相关产品推荐
相关产品推荐

