我想在python中更改图像的颜色

时间:2019-02-16 03:42:58

标签: python matplotlib

我想更改由指定数字制成的图像的颜色。 一共有三个数字(1、2、3)。 通过使用plt,我可以拍摄仅自动着色的图像。 但是,我想指定每个点(即1 ='黑色',2 ='黄色',3 ='绿色')。

import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(1, 2)
ax1.imshow(subvolume[1,:,:])
ax2.imshow(subvolume2[1,:,:])
plt.show()

1 个答案:

答案 0 :(得分:0)

您可以将0.5, 1.5, ...的边缘放在imshow(array, cmap=cmap, norm=norm)处,并将色图使用所涉及的三种颜色。将两者都提供给import numpy as np import matplotlib.pyplot as plt import matplotlib.colors a = np.random.randint(1,4, size=(5,7)) colors = ['black', 'yellow', 'limegreen'] boundaries = np.arange(1,5)-0.5 cmap = matplotlib.colors.ListedColormap(colors) norm = matplotlib.colors.BoundaryNorm(boundaries, len(colors)) plt.imshow(a, cmap=cmap, norm=norm) cb = plt.colorbar(ticks=np.arange(1,4)) plt.show()

public static MvcHtmlString MaterialTextBoxFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TValue>> textBoxExpression, Expression<Func<TModel, TValue>> dropDownListExpression, object htmlAttributes = null)
{
    string Id = htmlHelper.IdFor(textBoxExpression).ToString();
    string DisplayName = htmlHelper.DisplayNameFor(textBoxExpression).ToString();

    // this is coming out as blank
    string DDId = htmlHelper.IdFor(dropDownListExpression).ToString();
    // this is causing the error message displayed
    string DDDisplayName = htmlHelper.DisplayNameFor(dropDownListExpression).ToString();
}

enter image description here

这是更一般的Plotting a 2d numpy array with custom colors

的特例