Loading

matplotlib中渐变颜色条转CSS样式(hex格式)——同mapbox中cog的颜色条拉伸显示

matplotlib中渐变颜色条转CSS样式(hex格式)——同mapbox中cog的颜色条拉伸显示

应用场景:

1.适用于mapbox中显示cog影像时,colormap_name拉伸颜色条转换
2.适用于Python可视化matplotlib内置颜色条转换

以colormap_name=Blues为例

转换代码如下:

使用python,需要安装matplotlib和numpy模块,输出结果可直接在CSS文件中使用

import matplotlib.cm as cm
import matplotlib.colors as colors
import numpy as np

def colormap_to_css(colormap_name, n_colors=256):
    cmap = cm.get_cmap(colormap_name)
    hex_colors = [colors.rgb2hex(cmap(i)[:3]) for i in range(n_colors)]
    return  f""".{colormap_name.lower()}{{background: linear-gradient(to right
    {''.join([f',{color}' for color in hex_colors])})}}
    """
 
# 使用示例
cmap_name = "Blues"
css = colormap_to_css(cmap_name)
print(css)
#输出结果:.blues{background: linear-gradient(to right
,#f7fbff,#f6faff,#f5fafe,#f5f9fe,#f4f9fe,#f3f8fe,#f2f8fd,#f2f7fd,#f1f7fd,#f0f6fd,#eff6fc,#eef5fc,#eef5fc,#edf4fc,#ecf4fb,#ebf3fb,#eaf3fb,#eaf2fb,#e9f2fa,#e8f1fa,#e7f1fa,#e7f0fa,#e6f0f9,#e5eff9,#e4eff9,#e3eef9,#e3eef8,#e2edf8,#e1edf8,#e0ecf8,#dfecf7,#dfebf7,#deebf7,#ddeaf7,#dceaf6,#dce9f6,#dbe9f6,#dae8f6,#d9e8f5,#d9e7f5,#d8e7f5,#d7e6f5,#d6e6f4,#d6e5f4,#d5e5f4,#d4e4f4,#d3e4f3,#d3e3f3,#d2e3f3,#d1e2f3,#d0e2f2,#d0e1f2,#cfe1f2,#cee0f2,#cde0f1,#cddff1,#ccdff1,#cbdef1,#cadef0,#caddf0,#c9ddf0,#c8dcf0,#c7dcef,#c7dbef,#c6dbef,#c4daee,#c3daee,#c2d9ee,#c1d9ed,#bfd8ed,#bed8ec,#bdd7ec,#bcd7eb,#bad6eb,#b9d6ea,#b8d5ea,#b7d4ea,#b5d4e9,#b4d3e9,#b3d3e8,#b2d2e8,#b0d2e7,#afd1e7,#aed1e7,#add0e6,#abd0e6,#aacfe5,#a9cfe5,#a8cee4,#a6cee4,#a5cde3,#a4cce3,#a3cce3,#a1cbe2,#a0cbe2,#9fcae1,#9dcae1,#9cc9e1,#9ac8e0,#99c7e0,#97c6df,#95c5df,#94c4df,#92c4de,#91c3de,#8fc2de,#8dc1dd,#8cc0dd,#8abfdd,#89bedc,#87bddc,#85bcdc,#84bcdb,#82bbdb,#81badb,#7fb9da,#7db8da,#7cb7da,#7ab6d9,#79b5d9,#77b5d9,#75b4d8,#74b3d8,#72b2d8,#71b1d7,#6fb0d7,#6dafd7,#6caed6,#6aaed6,#69add5,#68acd5,#66abd4,#65aad4,#64a9d3,#63a8d3,#61a7d2,#60a7d2,#5fa6d1,#5da5d1,#5ca4d0,#5ba3d0,#5aa2cf,#58a1cf,#57a0ce,#56a0ce,#549fcd,#539ecd,#529dcc,#519ccc,#4f9bcb,#4e9acb,#4d99ca,#4b98ca,#4a98c9,#4997c9,#4896c8,#4695c8,#4594c7,#4493c7,#4292c6,#4191c6,#4090c5,#3f8fc5,#3e8ec4,#3d8dc4,#3c8cc3,#3b8bc2,#3a8ac2,#3989c1,#3888c1,#3787c0,#3686c0,#3585bf,#3484bf,#3383be,#3282be,#3181bd,#3080bd,#2f7fbc,#2e7ebc,#2d7dbb,#2c7cba,#2b7bba,#2a7ab9,#2979b9,#2777b8,#2676b8,#2575b7,#2474b7,#2373b6,#2272b6,#2171b5,#2070b4,#206fb4,#1f6eb3,#1e6db2,#1d6cb1,#1c6bb0,#1c6ab0,#1b69af,#1a68ae,#1967ad,#1966ad,#1865ac,#1764ab,#1663aa,#1562a9,#1561a9,#1460a8,#135fa7,#125ea6,#125da6,#115ca5,#105ba4,#0f5aa3,#0e59a2,#0e58a2,#0d57a1,#0c56a0,#0b559f,#0a549e,#0a539e,#09529d,#08519c,#08509b,#084f99,#084e98,#084d96,#084c95,#084b93,#084a91,#084990,#08488e,#08478d,#08468b,#08458a,#084488,#084387,#084285,#084184,#084082,#083e81,#083d7f,#083c7d,#083b7c,#083a7a,#083979,#083877,#083776,#083674,#083573,#083471,#083370,#08326e,#08316d,#08306b)}
posted @ 2024-04-12 18:02  gaogao~  阅读(10)  评论(0编辑  收藏  举报