【问题标题】:how to display colormap using matplotlib如何使用 matplotlib 显示颜色图
【发布时间】:2021-09-11 08:46:53
【问题描述】:

我已获得特定颜色图的 RGB 值。我想使用 matplotlib 或任何 python 库来可视化它。下面是 RGB 值。提前致谢。

RED = 000 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 235 211 0011C112011/12111411141/12111910120/1211111919191919191919191919191011/12111119191919191919191919111191012/12107/70 06/1211 060 056 052 048 044 040 036 032 028 024 020 016 012 008 004 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000可控000 000 000 000 000 000 000 000 000 000 000

GREEN = 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 004 008 012 016 020 024 028 032 036 040 044 048 052 056 060 064 068 072 076 080 084 088 092 096 100 104 108 112 116 120 124 128 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 21 21 21 21 124 120 124 124 124 124 124 124 124 12411 116 112 108 104 100 096 092 088 084 080 076 072 068 064 060 056 052 048 044 040 036 032 028 024 020 016 012 008 004 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 00 0 000 000 000 000 000 000 000 000

蓝色= 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000可控000 000 004 008 012 016 020 024 028 032 036 040 044 048 052 056 060 064 068 072 076 080 084 088 092 096 100 104 108 112 116 120 124 128 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 251 247 243 239 235 231 227 223 219 215 211 207 203 199 195 191 187 183 179 175 171 167 163 159 155 151 147 143 139 135 255

【问题讨论】:

    标签: python-3.x matplotlib colors


    【解决方案1】:

    您的问题没有 Python 形式的数据。假设它们是字符串(它们不能是数字,因为数字不允许以零开头),您可以使用plt.imshow(),如下所示:

    from matplotlib import pyplot as plt
    import numpy as np
    
    red = "000 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 251 247 243 239 235 231 227 223 219 215 211 207 203 199 195 191 187 183 179 175 171 167 163 159 155 151 147 143 139 135 131 128 124 120 116 112 108 104 100 096 092 088 084 080 076 072 068 064 060 056 052 048 044 040 036 032 028 024 020 016 012 008 004 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000"
    green = "000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 004 008 012 016 020 024 028 032 036 040 044 048 052 056 060 064 068 072 076 080 084 088 092 096 100 104 108 112 116 120 124 128 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 251 247 243 239 235 231 227 223 219 215 211 207 203 199 195 191 187 183 179 175 171 167 163 159 155 151 147 143 139 135 131 128 124 120 116 112 108 104 100 096 092 088 084 080 076 072 068 064 060 056 052 048 044 040 036 032 028 024 020 016 012 008 004 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000"
    blue = "000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 004 008 012 016 020 024 028 032 036 040 044 048 052 056 060 064 068 072 076 080 084 088 092 096 100 104 108 112 116 120 124 128 131 135 139 143 147 151 155 159 163 167 171 175 179 183 187 191 195 199 203 207 211 215 219 223 227 231 235 239 243 247 251 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 251 247 243 239 235 231 227 223 219 215 211 207 203 199 195 191 187 183 179 175 171 167 163 159 155 151 147 143 139 135 255"
    rgb = np.array([[int(s) for s in red.split()],
                    [int(s) for s in green.split()],
                    [int(s) for s in blue.split()]]).T.reshape(1, -1, 3)
    plt.imshow(rgb, aspect='auto')
    plt.yticks([])
    plt.tight_layout()
    plt.show()
    

    代码使用如下:

    • red.split() 使用空格作为分隔符将字符串分割成块
    • [int(s) for s in red.split()] 将字符串转换为整数列表
    • np.array([[...], [...], [...]]) 创建一个 3xN numpy 数组
    • np.array(...).T 转置数组以兼容 rgb 值(Nx3 数组)
    • ... .reshape(1, -1, 3) 将其转换为 3D 数组(或 rgb 值的 2D 数组)

    【讨论】:

      猜你喜欢
      • 2018-09-22
      • 2016-04-16
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多