如何在 python 米中为这张图片制作颜色图?
How to make colormaps for this image in python m?
我想制作一张用于附件图像的色图colorbar。我可以在 MATLAB 中完成,但是,我似乎无法在 python 中完成。到目前为止,我尝试了下面给出的代码,但没有得到我想要的结果。
img = imread('/path/colorbarimage.png')
colors_from_img = img[:, 0, :]
my_cmap = LinearSegmentedColormap.from_list('my_cmap', colors_from_img, N=651)
y = random_sample((100, 100))
imshow(y, cmap=my_cmap);plt.colorbar()
对于 img[:, 0, :]
,您没有在颜色条图像中选择正确的列(如果 colorbarimage.png 确实是您链接的图像)。
以下工作正常:
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
import numpy as np
img = plt.imread('colorbarimage.png')
# to check the selected rectangle:
cropped_cmap = img[145:799, 70:80, :]
plt.imshow(cropped_cmap)
plt.show()
colors_from_img = img[145:799, 74, :]
my_cmap = LinearSegmentedColormap.from_list('my_cmap', colors_from_img, N=256)
y = np.random.random_sample((100, 100))
plt.imshow(y, cmap=my_cmap)
plt.colorbar()
plt.show()
我想制作一张用于附件图像的色图colorbar。我可以在 MATLAB 中完成,但是,我似乎无法在 python 中完成。到目前为止,我尝试了下面给出的代码,但没有得到我想要的结果。
img = imread('/path/colorbarimage.png')
colors_from_img = img[:, 0, :]
my_cmap = LinearSegmentedColormap.from_list('my_cmap', colors_from_img, N=651)
y = random_sample((100, 100))
imshow(y, cmap=my_cmap);plt.colorbar()
对于 img[:, 0, :]
,您没有在颜色条图像中选择正确的列(如果 colorbarimage.png 确实是您链接的图像)。
以下工作正常:
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
import numpy as np
img = plt.imread('colorbarimage.png')
# to check the selected rectangle:
cropped_cmap = img[145:799, 70:80, :]
plt.imshow(cropped_cmap)
plt.show()
colors_from_img = img[145:799, 74, :]
my_cmap = LinearSegmentedColormap.from_list('my_cmap', colors_from_img, N=256)
y = np.random.random_sample((100, 100))
plt.imshow(y, cmap=my_cmap)
plt.colorbar()
plt.show()