如何使用 matplotlib 显示颜色图
how to display colormap using matplotlib
我已获得特定颜色图的 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 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 0 00 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 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 255 255 255 255 255 255 255 255 255 255 251 251 247 243 243 243 243 243 239 235 235 235 231 231 223 215 215 215 215 215 215 215 215 215 215 211 205 211 205 195 191 191 191 191 183 183 183 183 183 183 183 183 183 183 183 183 183 183 179 175 171 167 163 159 155 151 147 143 139 135 255
您的问题没有 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()
使用 space 作为分隔符将字符串拆分为块
[int(s) for s in red.split()]
将字符串转换为整数列表
np.array([[...], [...], [...]])
创建一个 3xN
numpy 数组
np.array(...).T
转置数组以与 rgb 值兼容(Nx3
数组)
... .reshape(1, -1, 3)
将其转换为 3D 数组(或 rgb 值的 2D 数组)
我已获得特定颜色图的 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 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 0 00 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 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 255 255 255 255 255 255 255 255 255 255 251 251 247 243 243 243 243 243 239 235 235 235 231 231 223 215 215 215 215 215 215 215 215 215 215 211 205 211 205 195 191 191 191 191 183 183 183 183 183 183 183 183 183 183 183 183 183 183 179 175 171 167 163 159 155 151 147 143 139 135 255
您的问题没有 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()
使用 space 作为分隔符将字符串拆分为块[int(s) for s in red.split()]
将字符串转换为整数列表np.array([[...], [...], [...]])
创建一个3xN
numpy 数组np.array(...).T
转置数组以与 rgb 值兼容(Nx3
数组)... .reshape(1, -1, 3)
将其转换为 3D 数组(或 rgb 值的 2D 数组)