Python的matplotlib中添加自定义渐变色的方法(使用十六进制颜色编码时)

渐变色自定义

使用matplotlib模块中的LinearSegmentedColormap去定义
构建一个matrix,第一列是0~1的递增列,可以是小数,将颜色分几个部分
例如:如果有五种颜色可以选择写0,0.25,0.5,0.75,1
第二列写十六进制颜色的编码即可

import matplotlib as mpl
red_color_normal = mpl.colors.LinearSegmentedColormap.from_list('自定义的颜色名字', 
                                             [(0,    '#FFFFFF'),
                                              (1,    '#F24A29')], N=256)
green_color_normal = mpl.colors.LinearSegmentedColormap.from_list('自定义的颜色名字', 
                                             [(0,    '#FFFFFF'),
                                              (1,    '#1DA840')], N=256)
gray_color_normal = mpl.colors.LinearSegmentedColormap.from_list('自定义的颜色名字', 
                                             [(0,    '#FFFFFF'),
                                              (1,    '#657281')], N=256)
grayN_color_normal = mpl.colors.LinearSegmentedColormap.from_list('自定义的颜色名字', 
                                             [(0,    '#FFFFFF'),
                                              (1,    '#7F8287')], N=256)

我这边在引用时用的是在cmap配置的时候,选择需要的渐变色即可

ax.imshow(yv, cmap=red_color_normal, origin='lower',alpha = alpha_num, aspect = 'auto',
              extent = extent)
### 使用十六进制颜色代码在 Matplotlib自定义绘图 Matplotlib 支持通过多种方式指定颜色,其中包括使用十六进制颜色代码。这种方式允许用户精确控制图形中的色彩表现。 对于希望采用十六进制颜色编码的情况,在绘制图表只需将代表颜色的字符串参数设置为形如 `'#RRGGBB'` 或者带有透明度的 `'#RRGGBBAA'` 的格式即可[^1]。这里 RR、GG 和 BB 分别对应红色、绿色和蓝色分量的两位十六进制数值;而 AA 则用于表示不透明度(alpha),可选。 例如,要创建一条线并将其颜色设为一种特定的深蓝(假设该颜色对应的十六进制码是 #0D47A1),可以在 plot 函数调用中加入如下选项: ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6], color='#0D47A1') plt.show() ``` 同样地,当填充区域或者调整背景色调也可以利用这种形式的颜色表达法。比如下面这段代码演示了如何给定上下限之间填充一个具有半透明效果的颜色带: ```python time_points1 = ... # 间序列数据点 lower_bound = ... # 下界数组 upper_bound = ... # 上界数组 plt.fill_between(time_points1, lower_bound, upper_bound, color='#8C9EFF', alpha=0.3) # '#8C9EFF' 是淡紫色的一种 ``` 此外,如果涉及到更复杂的可视化需求,像热力图这样的场景下,还可以结合 colormap 来实现基于不同区间自动映射到相应颜色的效果。此虽然主要依赖于预置或自定义colormap对象来进行配色方案的选择,但在某些情况下仍然可以通过传递具体的十六进制值作为单个元素的颜色属性来增强灵活性[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值