Prajwal Kumar
Prajwal Kumar

Reputation: 177

how to display colormap using matplotlib

I have been given RGB Values for a specific colormap. I want to visualize it using matplotlib or any python libraries. Below is RGB Values. Thanks in Advance.

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

Upvotes: 0

Views: 305

Answers (1)

JohanC
JohanC

Reputation: 80509

Your question doesn't have the data in a Python form. Supposing they are strings (they can't be numbers, as numbers aren't allowed to start with zeros), you can use plt.imshow() as follows:

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()

displaying a list of colors

The code uses the following:

  • red.split() splits the string into chunks using a space as delimiter
  • [int(s) for s in red.split()] converts the string to a list of integers
  • np.array([[...], [...], [...]]) creates a 3xN numpy array
  • np.array(...).T transposes the array to be compatible with rgb values (an Nx3 array)
  • ... .reshape(1, -1, 3) converts it to a 3D array (or a 2D array of rgb values)

Upvotes: 1

Related Questions